Sobes.tech
Назад к вопросам
Middle+
4

Виды связей между таблицами?

Компании, где спрашивали
Билайн

Ответ от нейросети

sobes.tech AI

Между таблицами в реляционных базах данных существуют три основных вида связей:

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

  2. Один ко многим (1:N) — одной записи в первой таблице соответствует множество записей во второй. Например, один заказчик может иметь много заказов.

  3. Многие ко многим (M:N) — записи в первой таблице связаны с множеством записей во второй и наоборот. Для реализации обычно создаётся промежуточная таблица-связка с внешними ключами на обе таблицы.

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

-- Таблица студентов
CREATE TABLE Students (
  StudentID INT PRIMARY KEY,
  Name VARCHAR(100)
);

-- Таблица курсов
CREATE TABLE Courses (
  CourseID INT PRIMARY KEY,
  Title VARCHAR(100)
);

-- Таблица связки студентов и курсов
CREATE TABLE StudentCourses (
  StudentID INT,
  CourseID INT,
  PRIMARY KEY (StudentID, CourseID),
  FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
  FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);