【问题标题】:Database with users design具有用户设计的数据库
【发布时间】:2011-05-30 17:34:13
【问题描述】:

我正处于数据库设计开发阶段。应用程序将与大量用户一起使用 (LARGE :))

我设计了 80% 的数据库,但我有一个连接到其他所有内容的用户表:

Users {UserId, FirstName, LastName, Username, Password, PasswordQuestion, PasswordAnswer, Gender, RoleId, LastLoginDate etc etc}

我看到了 asp.net 会员数据库结构,其中用户和会员是两个表。我的问题是:

  1. 我应该使用一个包含所有用户数据的用户表还是更多表?
  2. 如果答案是“更多表”,要使用哪些表?关于如何构建这些表之间的关系有什么建议吗?

这是我拥有的sample relation,正在努力改进。我不明白为什么 user 和 userChild 是分开的表?

【问题讨论】:

  • “LARGE”有多大? 100,000?
  • 约翰:类似的。米奇:对不起,我没有阅读常见问题解答,现在我明白我需要建立声誉。我会解决的。我用一个新数据更新了问题。

标签: sql-server database database-design


【解决方案1】:

您需要多少表取决于您的建模需求。

例如,如果您在用户表中包含 RoleId,那么您将只能为每个用户分配一个角色。这就是你想要的吗?

否则,如果您有一个单独的表将用户链接到角色,您将能够为每个用户分配多个角色。

【讨论】:

  • 没有。每个用户只能拥有一个角色。我正在创建用户可以注册、登录、用户可以浏览其他用户以将他们添加为朋友的东西(我有带有 UserId 和 FriendId 列的 Friend 表,并且这两个列都连接到 Users 表中的 UserId)。 A 还考虑为安全问题创建单独的表格,因为会有问题列表。但我不知道,我是否应该有一个将存储用户个人数据(如 FirsName、LastName 等)的 Users 表和另一个存储诸如电子邮件、用户名、密码、avatarUrl 等数据的表。
  • 如果用户只有一个名字和一个电子邮件,那么这两个数据通常应该放在同一个表中:用户。
猜你喜欢
  • 2017-05-24
  • 1970-01-01
  • 1970-01-01
  • 2019-04-17
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
  • 2012-09-17
相关资源
最近更新 更多