2011-06-08 56 views
1

下面的问题是关于数据库设置了aspnet_regsql.exe的(对.NET 4):ASP.NET Membership DB模式的架构背后的原因是什么?

  1. 为什么存储在aspnet_Users无论是在原来的形式和小写的用户名?为什么不总是小写?
  2. 为什么用户和UsersMembership两个不同的表?这仅仅是因为我们可以拥有不同的会员/应用程序或者是一些最佳实践?
  3. 数据应该像“列”一样存储在数据库中吗“IsApproved”?对我而言,这似乎是一个临时专栏,一旦获得批准,就可以删除。那么为什么不把它存储到一个包含键/值对(类似于“ExtendedpProperties”)的表中,类似于其他列,如“Comment”或“LastLockoutDate”
  4. “aspnet_PersonalizationPerUser”中“LastUpdatedDate”的用途是什么
  5. 为什么没有价值两列aspnet_Profile?

有什么问题在DB吗?你认为应该以另一种方式被设计的?请提供论据。

谢谢!

回答

2
  1. 任何计算列的想法是在查询过程中保存周期做这些计算。特别是在大型查询期间。另一个想法是你在索引这些列的时候。再次,这是为了节省周期。
  2. 成员资格表包含与MembershipProvider API接口相关的信息。用户表存储用户名和用户ID,这些用户ID和用户ID是从许多提供商引用的。 aspnetdb系统是非常模块化的,每个部分都可以通过不同的提供者进行定制。这些表格需要分开,以便每个接口可以重写,重定向等。
  3. 您希望将此信息存储在何处?
  4. 也许你想知道用户或应用程序最后一次更改WebParts
  5. PropertyNames包含一个字符串值,该值包含有关PropertyValuesString和PropertyValuesBinary字段中存在的配置文件属性值的信息。 The string holds a colon-delimited list of items.
相关问题