Junior — Middle
Comment organiser une relation 'plusieurs à plusieurs' entre des entités dans une base de données?
sobes.tech IA
Réponse de l'IA
Отношение «многие к многим» в базе данных обычно реализуется через промежуточную таблицу (join table), которая содержит внешние ключи на обе связанные сущности.
Например, есть сущности Student и Course. Один студент может посещать много курсов, и один курс может иметь много студентов. Для этого создаётся таблица StudentCourse с двумя столбцами: StudentId и CourseId.
Пример на C# с использованием Entity Framework Core:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Course> Courses { get; set; }
}
public class Course
{
public int Id { get; set; }
public string Title { get; set; }
public ICollection<Student> Students { get; set; }
}
// В EF Core 5 и выше можно настроить связь без явной сущности для join table
Таким образом, связь реализуется через дополнительную таблицу, которая хранит пары связанных записей.