2011-06-08 4 views
1

Les questions suivantes concernent la DB mis en place avec aspnet_regsql.exe (pour 4 .NET):Quelles sont les raisons du schéma du schéma de base de données d'adhésion ASP.NET?

  1. Pourquoi le nom d'utilisateur stocké dans aspnet_Users aussi bien sous sa forme originale et en minuscules? Pourquoi pas en minuscules tout le temps?
  2. Pourquoi les utilisateurs et UsersMembership deux tables distinctes? Est-ce juste parce que nous pouvons avoir différentes adhésions/applications ou est une meilleure pratique?
  3. Des données telles que "IsApproved" doivent-elles être stockées dans DB comme une colonne? Pour moi, cela ressemble à une colonne temporaire qui, une fois approuvée, pourrait être supprimée. Alors pourquoi ne pas stocker une table avec des paires clé/valeur (quelque chose comme « ExtendedpProperties). Comme pour d'autres colonnes comme « Commentaire » ou « LastLockoutDate ».
  4. Quel est le but de « LastUpdatedDate » dans « aspnet_PersonalizationPerUser »?
  5. Pourquoi deux colonnes pour la valeur en aspnet_Profile?

y at-il quelque chose de mal dans ce DB? pensez-vous que cela aurait dû être conçu d'une autre façon? S'il vous plaît fournir des arguments.

Merci!

Répondre

2
  1. L'idée d'une colonne calculée est de sauver des cycles à faire ces calculs pendant l'interrogation. Surtout lors de grandes requêtes. L'autre pensée est celle que vous avez eue en indexant ces colonnes. Encore une fois, cela est fait pour sauver des cycles.
  2. La table d'appartenance contient des informations relatives à l'interface de l'API MembershipProvider. La table users stocke les noms d'utilisateur et les ID utilisateur, référencés par de nombreux fournisseurs. Le système aspnetdb est très modulaire et chaque pièce peut être personnalisée par les différents fournisseurs. Les tables doivent être séparées afin que chaque interface puisse être réécrite, redirigée, etc.
  3. Où souhaitez-vous stocker ces informations? Peut-être que vous voulez savoir quand l'utilisateur ou l'application a changé pour la dernière fois WebParts
  4. PropertyNames contient une valeur de chaîne contenant des informations sur les valeurs de propriété de profil présentes dans les champs PropertyValuesString et PropertyValuesBinary. The string holds a colon-delimited list of items.
Questions connexes