как вам такая схема?
белые шарики значит null черные not null
1. несколько фиксированных полей и плюс расширяемые поля
2. разбор полёта провайдеров, и возможность бана провайдеров через REGEX
3. ip/ua не внёс, это должно быть в сессии (или в посту)
4. prid может быть тоже null - значит пользователь не использовал OpenID