Що таке зв'язки між таблицями?
Зв'язки між таблицями - це логічні відношення між даними в різних таблицях, які дозволяють SQL «розуміти», як з'єднувати рядки під час запитів.
Вони будуються через ключі - спеціальні поля, за якими таблиці пов'язуються між собою.
1. Первинний ключ (PRIMARY KEY)
Це унікальний ідентифікатор рядка в таблиці. Кожен запис має своє неповторюване значення. Приклад:
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50)
);Поле id - унікальний ідентифікатор користувача.
2. Зовнішній ключ (FOREIGN KEY)
Це поле, яке посилається на первинний ключ іншої таблиці. Воно й створює сам зв'язок між таблицями. Приклад:
CREATE TABLE orders (
id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);Тут user_id з orders пов'язаний з id з users.
Кожне замовлення «належить» конкретному користувачу.
3. Типи зв'язків між таблицями
| Тип зв'язку | Опис | Приклад |
|---|---|---|
| Один до одного (1:1) | Кожному запису в таблиці A відповідає рівно один запис у таблиці B. | Користувач - паспорт |
| Один до багатьох (1:N) | Одному запису в таблиці A відповідає багато записів у таблиці B. | Користувач - замовлення |
| Багато до багатьох (M:N) | Кожен запис у A може бути пов'язаний з кількома в B і навпаки. | Студенти - курси |
4. Навіщо потрібні зв'язки
- Щоб уникнути дублювання даних;
- Щоб забезпечити цілісність (наприклад, не можна створити замовлення без наявного користувача);
- Щоб коректно об'єднувати дані під час
JOIN-запитів.
Підсумок: Зв'язок між таблицями - це логічна прив'язка через ключі, яка показує, які дані пов'язані одне з одним. Первинний ключ унікально визначає запис, зовнішній - вказує на нього з іншої таблиці, а самі зв'язки роблять базу структурованою, узгодженою й безпечною.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.