Мой вопрос, вероятно, является отголоском вопроса, ранее задаваемого здесь:
Как спроектировать объектную модель пользователя с использованием MS Roles & Membership , но я спрашиваю еще раз, поскольку пока нет хорошего ответа, и мой вопрос в любом случае направлен на проектирование модели данных:
Так или иначе, в моем приложении есть пользователи и группы. Пользователь может принадлежать ко многим группам и, конечно, группа может содержать много пользователей. Проблема сейчас, мы знаем только несколько основных групп: пользователь, гость и администратор. В будущем могут существовать группы can-do-X, can-do-Y и потенциально гораздо больше или не больше, чем просто администратор, пользователь и гость. Так что я просто соблазнился легкого подхода. Вот мои мысли о подходах:
Если бы я собирался иметь голую таблицу User, таблицу ролей и другую таблицу, которая имитирует отношение «многие ко многим», это кажется немного перегруженным. Если я правильно понимаю, это будет считаться нормализованным подходом. И наоборот, если я добавлю в таблицу User следующие столбцы, такие как IsAdmin, IsGuest, CanDoX, CanDoY и т. Д., То это будет денормализовано.
Я ищу баланс между сложностью и гибкостью, временем и пространством и т. Д. Пожалуйста, предложите.