Имеются сущности: Преподаватели, студенты, курсы.
Преподаватели могут: создавать курсы, смотреть кто из студентов на курсы записан, подтверждать что студент курс прошел.
Студенты могут: записываться на различные курсы, смотреть на какие курсы уже записан, смотреть какие курсы уже прошел.
Курсы: имеют поле преподавателя, создавшего курс
Каким образом для этого реализовать курсы? Создавать массив студентов для каждого курса? мне кажется будет проблема с доступом конкретного студента к информации о курсах на которые записан.
Для каждого студента создавать новый обьект курс, и к нему добавлять имя студента?
Как запретить студенту несколько раз покупать один и тот же курс?
Для решения этой задачи напрашивается использование реляционной бд, к примеру MySQL. Подходящей схемой может оказаться следующая:
таблица students
таблица courses
, у каждого курса есть связь с teachers
таблица teachers
таблица course_students
, реализующая связь "многие ко многим"
UPD: Опишу подробнее.
Таблицы students
, teachers
, cources
должны иметь поле id (int, primary key)
, остальное по необходимости. Таблица courses дополнительно имеет поле teacher_id (int, foreign key в таблицу teachers по желанию
).
Для реализации n*m связи в таблице course_students
требуются всего два поля: course_id
, student_id
, оба типа int
.
Сама информация по конкретным курсам и студентам хранится в таблицах courses
и students
.
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
У меня есть таблица a с varhar массивом на id в b таблицеК примеру (1,2,3,4,5,6)
Нужно получить id клиента, количество и сумму заказов за последний месяц
Подскажите, как в MySQL можно организовать поиск дубликатов в поле? Вывести только неповторяющиеся значения можно с помощью DISTINCT, а вот как...