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

Posted

技术标签:

【中文标题】社交网络设计中用户和帐户对象的区别?【英文标题】:difference between User and Account object in social network design? 【发布时间】:2011-04-08 14:06:04 【问题描述】:

我正在为社交网站构建数据模型,但不知道如何为用户和帐户建模。

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

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

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

4) 谁拥有用户个人资料详细信息、用户设置、隐私、朋友等? user对象还是Account对象,哪个对象更高级?

5) 有用户可以创建/管理的照片、视频等系统对象,那么这些对象是属于用户还是帐户对象?

6) 究竟是什么构成了一个对象?假设我们有状态更新、cmets、个人资料详细信息。这3个对象?还是都认为是 1 种类型的对象而仅 3 类?

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

User vs Account 我觉得如何为员工建模编辑用户的帐户详细信息?我将 UserType 建模为 Admin、Employee、Test、Member、Visitor。此外,帐户可以是企业帐户、广告客户帐户等。除非我在帐户下方而不是与帐户处于同一级别?希望从一开始就安全行事,因此一旦有实时数据流入,就无需更改模型。 除非这些“帐户”用于您要构建的单独软件中,否则它们并不是真正有用的。您可能希望拥有可以分配给用户的“角色”。所以用户:1 是管理员、经理等。这是一对多的关系。所以你需要一张能容纳它的桌子。表:用户、角色、用户角色。 userrole 是:userid,roleid .. 类似的东西。有很多方法可以做到这一点。你可能想读一本书或一些关于数据库设计的东西。我将帮助您计划并制作一个更具前瞻性的数据库。

以上是关于社交网络设计中用户和帐户对象的区别?的主要内容,如果未能解决你的问题,请参考以下文章

社交网络 android 应用程序的要求 [关闭]

社交网络数据库设计 - 朋友/块关系

在社交网络设计中使用外键 - 好/坏?

从多个社交网络(Facebook 和 Linkedin...)获取统一配置文件的数据库方案

社交网络好友列表、朋友圈、帖子分享的数据库设计[关闭]

社交网络平台架构