Sobes.tech
Back to questions
Junior — Middle
64

Какие виды связей между таблицами используются в SQL?

Answer from AI

sobes.tech AI

В SQL существуют несколько основных видов связей между таблицами, которые определяют, как данные из разных таблиц связаны между собой:

  1. Один к одному (One-to-One) — каждой записи в первой таблице соответствует ровно одна запись во второй таблице. Используется, когда нужно разделить данные на две таблицы, но связь строго 1:1.

  2. Один ко многим (One-to-Many) — одной записи в первой таблице соответствует множество записей во второй. Например, один пользователь может иметь много заказов.

  3. Многие ко многим (Many-to-Many) — записи в первой таблице связаны с множеством записей во второй и наоборот. Реализуется через промежуточную таблицу (join table), которая содержит внешние ключи на обе таблицы.

Пример связи "один ко многим":

-- Таблица пользователей
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100)
);

-- Таблица заказов
CREATE TABLE orders (
    id INT PRIMARY KEY,
    user_id INT,
    order_date DATE,
    FOREIGN KEY (user_id) REFERENCES users(id)
);

Здесь user_id в таблице orders связывает заказ с конкретным пользователем.