Junior — Middle
¿Cómo se puede organizar una relación de 'muchos a muchos' entre entidades en una base de datos?
sobes.tech AI
Respuesta de la 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
Таким образом, связь реализуется через дополнительную таблицу, которая хранит пары связанных записей.