Вам просто нужны две таблицы, таблица пользователя и таблица типа пользователя.В пользовательской таблице будет столбец для типа, который будет ссылаться на таблицу пользовательских типов и сообщать вам тип.Я хотел бы что-то простое, например:
User (
Id Int NOT NULL PRIMARY KEY,
UserName VarChar(50) NOT NULL,
EmailAddress VarChar(100),
{... More fields generally used by all account types ...}
UserTypeId Int NOT NULL
)
UserType (
Id Int NOT NULL PRIMARY KEY,
Type VarChar(50) NOT NULL
)
Если у вас есть информация, относящаяся к каждому типу входа, например, Google+ или Facebook, вы можете создать таблицу для каждого конкретного типа входа.Однако реальность такова, что вы, вероятно, получите один и тот же набор базовых информационных полей для всех возможных типов, поэтому не о чем беспокоиться.