Все еще работаю над веб-приложением в качестве школьного проекта, и кажется, что оно продолжает расширяться.
Я должен добавить слой для учителей, чтобы они могли управлять и обучать студентов через приложение. Поэтому я должен связать учителей со своими учениками.
Мне было интересно, как лучше всего это сделать. У меня есть одна таблица для всех пользователей на данный момент. Основы этой таблицы:
id | email | firstname | lastname | role
1 | s@s.s | dromiceio | mimus | 1
2 | d@d.d | tyranno | saurus | 2
3 | a@a.a | utah | raptor | 1
Роль - это номер, который я назначаю им для предоставления им определенных разрешений. 1 = студент, 2 = учитель, 3 = администратор.
Если предположить, что у одного ученика есть один учитель, а у одного учителя много учеников, каков будет лучший способ составить таблицу базы данных?
Я думал о создании новой таблицы и просто добавлении в нее идентификаторов ученика / учителя:
Например, если учитель Тиранно Саурус (id 2) привязал к нему двух учеников в таблице выше, я бы составил таблицу следующим образом:
pk_id | teacherid | studentid
1 | 2 | 1
2 | 2 | 3
Таким образом, я бы знал, что у учителя Тиранно (id 2) есть два ученика, а именно ученик с идентификатором пользователя 1 и идентификатором пользователя 3.
Опять же, я никогда по-настоящему не работал над чем-то подобным, поэтому мне было интересно, может ли кто-нибудь дать мне некоторое представление об этом и возможно ли сделать это лучше.
Я создаю свое приложение на PHP (CodeIgniter) с MySQL; если это важно.
Большое спасибо.