2011-03-30 42 views
1

我简单的东西,现在,USERDB模式是:合并多个登录系统?

  • 用户标识 - 自动增量ID电子邮件
  • 电子邮件地址
  • 密码

我想加入Facebook和Twitter,我会怎样在数据库方面处理它?

回答

3

您可以通过多种方式做到这一点,无论是将大部分数据存储在通用的usertable中(就像您将要做的那样)并将提供程序细节分开。

或者你做一个设计,你可以连接多个登录到同一个用户。这将结束与类似

  • ID用户
  • ID facebookuser(可为空)
  • ID twitteruser(可为空)

这将可能让你N多的电子邮件不会忽略(与仍然没有密码!因为你不是帐户的提供者);或根本没有。这取决于这个用户在每个提供商中信任你的程度。

编辑: 您可能还想要规范化没有空的数据。 可以通过让

  • id_user
  • id_facebookuser id_user
  • id_twitteruser id_user
做到这一点