Нормализация базы данных для системы управления школой

Я создаю систему управления школой и придумываю схему прикрепленной базы данных.

Database diagram

Вот как работает система:

  1. В школе много учеников и учителей. Он также имеет много преподаваемых курсов (предметов). На уровне класса может быть назначено много курсов. Эти курсы, в свою очередь, будут назначены учащимся в этом конкретном классе.
  2. Уровни учащихся подразделяются на классы и секции. Ученик может быть в 5 классе, но если учеников 5 класса огромно по количеству, они делятся на секции. Например: 5 класс секция A, класс 5 секция B.
  3. Учащиеся размещаются в уникальных классах. Классная комната будет уникальной во всем. Класс 5 класса Секция А 2010 года будет отличаться от Классной комнаты 5 класса Секция А 2011 года.
  4. Учащиеся назначаются родителями. Родитель может иметь более одного ученика в школе.
  5. Один или несколько классных комнат могут быть назначены учителю.
  6. Посещаемость для студентов принимается их учителем на ежедневной основе
  7. Будет много типов экзаменов. Результаты экзаменов сохраняются по каждому предмету (курсу).

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

EDIT:

Кроме того, будет только одна точка входа. В вышеуказанном случае во время входа в систему пользователю придется выбрать тип пользователя из выпадающего списка. Этот выпадающий список будет использоваться для запроса соответствующей таблицы для входа в систему. Другой альтернативой является использование общей таблицы user, в которой будут храниться user_id, электронная почта, пароль, last_login_date last_login_ip, но будут храниться другие сведения в соответствующих таблицах, таких как ученик, родитель, учитель. Итак, каков предпочтительный/правильный способ его реализации?

15
задан Glorfindel 14 August 2019 в 05:21
поделиться