Тема: Питання по структурі таблиць і самої бд в postgresql
Прів.
1) При реєстрації користувач вводить всіляку інфу про себе, типу емейла і пароля, і от кожний акаунт може мати один з декількох типів. При реєстрація він має один тип, ну а далі може отримати якийсь інший.
І от я думаю, як ці типи краще зберігати?
Якби я це писав в якійсь мові програмування, то створив би клас enum який тримав би в собі всі можливі типи, а в класі з даними користувача я б тримав поле типу enum. Ну ви зрозуміли.
Чи можна шось таке зробити в БД, і чи потрібно взагалі?
2) Якщо користувач зареєструвався в межах останніх 15 хвилин, і намагається зарегатись з іншими данами але з цього ж айпі, то таку можливість треба заблокувати, аби спамери усілякі не наробили купу акаунтів.
Я так розумію, що для цього потрібно тримати окрему таблицю, котра містила б айпішники і дату, коли з цього айпішника реєструвались в останній раз. Так?
3) Окрім паролю та емейлу, в бд повинна зберігатись остання дата спроби логіну від цього користувача, тому що якщо користувач ввів 5 разів підряд невірний логін, або пароль, то спроба логіну блокується на 15 хвилин.
Я от тільки що зрозумів, що в принципі це обмеження теж не прив'язане до акаунту, а прив'язане до айпі, ага?
То це треба в таблицю з айпішником і часом останньої реєстрації додати поле з часом останньої спроби логіну?
4) ОКрім паролю та емейлу, користувач, пізніше, може заповнити інфу про себе, типу стать, справжнє ім'я, вік, країна і т.д. Під це робити окрему таблицю, де ключове поле буде мати емейл акаунту?