【发布时间】:2011-01-18 02:51:41
【问题描述】:
我的问题可能与之前在此处提出的问题相呼应: How to design a User Object Model using MS Roles & Membership,但我又问了一次,因为还没有好的答案,而且我的问题还是针对数据模型设计的:
所以无论如何,在我的应用程序中,有用户和组。一个用户可以属于许多组,当然一个组可以包含许多用户。现在的问题是,我们只知道几个基本组:用户、访客和管理员。将来,可能会有 can-do-X、can-do-Y 组,并且可能会更多或不超过 admin、user 和 guest。所以我很想采取简单的方法。以下是我对这些方法的看法:
如果我打算有一个简单的 User 表和一个 Role 表,以及另一个模拟多对多关系的表,它似乎有点过度设计。如果我理解正确,这将被视为规范化方法。相反,如果我在 User 表中添加 IsAdmin、IsGuest、CanDoX、CanDoY 等以下列,那么这将是非规范化的。
我希望在复杂性和灵活性、时间和空间等之间取得平衡。请提出建议。
【问题讨论】:
标签: database-design normalization denormalization