社交网络设计中用户和帐户对象之间的区别?

kei*_*i30 7 database-design datamodel social-networking

我正在为社交网站构建数据模型,并且失去了如何为用户和帐户建模.

1)用户注册并创建一个帐户.因此,我们在大多数社交网站上为用户分配了一个用户ID,我们看到的是相同的个人资料ID.现在是帐户ID吗?或者是否还隐藏了单独的帐户ID?如果用户可以拥有多个配置文件,那么用户ID是否与每个配置文件ID分开的帐户ID分开?

2)我们假设1个用户只有1个帐户.但是,当用户正在编辑他的帐户或让管理员编辑用户的帐户时,用户正在编辑帐户,因此需要两个单独的ID才能对此进行建模?

3)用户和帐户对象的生命周期是多少?如果用户关闭了他的帐户,这意味着用户和帐户对象都被杀死了?

4)谁拥有用户个人资料详细信息,用户设置,隐私,朋友等?用户对象或Account对象,哪个对象优越?

5)用户可以创建/管理的系统对象,如照片,视频等,用户或帐户对象拥有的对象是什么?

6)究竟什么是物体?假设我们有状态更新,评论,个人资料详细信息.这三个对象?或者所有考虑过1种类型的对象而只有3种类别?

d-_*_*_-b 2

我理解您关于用户与个人资料的观点,但是用户与帐户呢?

对于我的大多数设计来说,都是一样的。你的大部分问题似乎都源于这种困惑。为什么需要单独的 ID?为什么要区分两者。如果您有需要,那么也许是这样。例如,也许您有一个跨多个服务的用户帐户。该用户在不同的服务上拥有单独的帐户信息,但具有相同的登录名。在这种情况下,您需要有两个单独的对象:登录名(在身份验证系统中)和帐户(在实际应用程序中)。但我不认为你正在创建这么大的系统。不?

6) 如果所有这些不能用相同的代码表示,它们将必须是单独的对象或从相似的对象派生。例如,在某些门户网站中,我看到 PM(私人消息)系统看起来像是两个或更多人之间的私人论坛线程。在没有查看源代码的情况下,我会想象论坛主题/线程是相同或相似的,也许源自相同的对象。

  • 除非这些“帐户”用于您要构建的单独软件中,否则它们并不是真正有用。您可能希望拥有可以分配给用户的“角色”。所以user:1就是Admin、Manager等,是一对多的关系。所以你需要一张桌子来容纳它。表:用户、角色、用户角色。userrole 是:userid、roleid.. 类似的东西。有很多方法可以做到这一点。您可能想阅读一本有关数据库设计的书或其他内容。我将帮助您规划并制作一个更加面向未来的数据库。 (3认同)