Лучший способ добавить список элементов для пользователя в SQL - PullRequest
0 голосов
/ 22 октября 2018

Я хочу назначить список классов (курсов) моим пользователям в SQL.У пользователей может быть разное количество курсов.Я огляделся вокруг и действительно не нашел хорошего способа сделать это.У меня нет большого опыта в проектировании баз данных.Каждый пользователь - это просто строка информации в таблице с уникальным идентификатором пользователя.У каждого курса в списке должно быть поле для текущей оценки, инструктора и идентификатора пользователя, которому он принадлежит.А может и больше.Я стараюсь не помещать все это в один ряд с кучей слотов и, возможно, даже пустыми полями.Есть ли способ назначить целую таблицу для пользователя?так что каждый ряд может быть курсом?

1 Ответ

0 голосов
/ 22 октября 2018

Я бы предложил использовать ассоциативную таблицу , что означает использование отношения многие-ко-многим .Например, структура выглядит следующим образом:

Таблица Студент (идентификатор студента, имя, фамилия)

Таблица Курс (идентификатор курса, имя, ..)

Таблица StudentCourse (student_id, course_id, teacher_id, date_enrolled, date_passed, grade ...)

StudentCourse - это связь между таблицей Student и Course, поскольку студент можету меня много курсов, и на курс может быть зачислено много студентов. enter image description here

Я также предложил бы продолжить чтение по нормализации базы данных, ассоциативным таблицам и, возможно, этой статье.об отношениях многих ко многим.

...