Какие типы связей между моделями в базе данных вы знаете?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
- One-to-One
- Many-to-One
- Many-to-Many
One-to-One
Каждый экземпляр одной сущности связан ровно с одним экземпляром другой сущности, и наоборот.
Например, User и Profile. У каждого пользователя может быть только один профиль, и каждый профиль принадлежит только одному пользователю.
Many-to-One
Несколько экземпляров одной сущности связаны с одним экземпляром другой сущности.
Например, Article и Author. У каждого автора может быть много статей, но каждая статья написана только одним автором.
Many-to-Many
Несколько экземпляров одной сущности связаны с несколькими экземплярами другой сущности.
Например, Student и Course. У каждого студента может быть много курсов, и на каждом курсе может учиться много студентов.
Техническое реализовать Many-to-Many связь обычно требует создания промежуточной таблицы.
-- Пример структуры таблиц для Many-to-Many связи Student и Course
-- Талица для студентов
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(100)
);
-- Таблица для курсов
CREATE TABLE courses (
course_id INT PRIMARY KEY,
title VARCHAR(100)
);
-- Промежуточная таблица для связи Student и Course
CREATE TABLE student_courses (
student_course_id INT PRIMARY KEY,
student_id INT,
course_id INT,
FOREIGN KEY (student_id) REFERENCES students(student_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);