Я разрабатываю веб-приложение для дьяконов в моей церкви. И хотя у меня большой опыт кодирования на нескольких языках, мне все же приходилось заниматься серьезным моделированием баз данных, пока я не решил решить эту проблему для моей организации.
Я очень хорошо знаком с написанием запросов sql / ddl в существующей базе данных (строго консоль mysql, Spring MVC, Boot, Java и т. Д.). Но с тех пор, как в колледже мне пришлось учиться нормализации, 2nf, 3nf, 1: 1, 1: многие и т. Д. Это был унизительный опыт, если не сказать больше, пытаться освежить свою память с помощью теорий баз данных, изученных годами. до и пытаясь применить концепции.
Я создал модель, которая, по крайней мере, мне кажется, соответствует потребностям пользователей
Мой конкретный вопрос касается заблокированных аккаунтов. Я прочитал несколько постов об этом, что только смутило меня больше о том, как приблизиться к этой концепции с моей данной моделью данных? Я действительно буду признателен за любые другие предложения и / или критику; Я определенно понимаю концепцию и силу обучения по ошибке ... Спасибо.
Вариант использования :
1. Users holding office in a particular year can sign into the web
application, and view their information *(Name, Account Status,
Ordained, Team number, Calendar of their assigned duty days)*.
They can only update their personal info (name, address,
phone). Note: The account will be created for users.
2. Director, Asst. Director and System admin can log into the web
application (admin dashboard) and see a data table of all users,
w/ all relevant fields(view). This group has full read-write
privileges.
У меня есть заблокированная таблица в модели, но я не уверен, что это правильный способ обновления статуса пользователя с активного на неактивный. Если он неактивен, он не может войти в веб-приложение. Я также использовал бы это, если пользователь пытается войти в систему больше x раз безуспешно. Кроме того, было бы полезно (отчеты и статистика) сохранять предыдущих пользователей в базе данных на протяжении x лет, разумеется, с неактивным статусом.