Sobes.tech
Назад к вопросам
Senior
3

Какие связи между таблицами бывают в реляционных БД?

Компании, где спрашивали
МТСМТС

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

sobes.tech AI

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

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

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

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

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

-- Таблица студентов
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)
);