Мне нужно сделать таблицу user
в базе данных образования, где пользователь может иметь следующие профили:
1. Admin
2. School Admin
3. Tutor
4. Student
5. Parent
6. School Teacher
Теперь вопрос заключается в том, чтобы создавать отдельные таблицы для каждого профиля и использовать ключ в таблице для связи с таблицей профилей или содержать все в одном и добавлять профиль для идентификации типа пользователя. Ежедневно новые новые пользователи добавляются в базу данных, поэтому растущая база данных.
Запросы, которые запускаются для извлечения данных, относятся к профилю. Например, данные будут извлекаться для одного профиля за раз. Но как насчет случаев, когда нам нужно получить всех учителей студента или всех учеников учителя? В этом случае мне нужно будет сохранить идентификатор студента в таблице преподавателя и учителя. Каков оптимизированный способ этого?
Я предлагаю сделать отдельные таблицы для профиля и использовать ключ в таблице для привязки к таблице профилей (если профили предварительно настроены)
если профили являются динамическими, тогда вам необходимо позаботиться о своем приложении, например, проверить профиль или нет, если он не существует, сначала вставьте в таблицу профилей, а затем вставьте в таблицу пользователя. Это может повлиять на производительность INSERT.
чтобы получить всех учителей студента или всех учеников учителя, вы должны использовать самообучение