【发布时间】: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 类?
【问题讨论】:
标签: database-design social-networking datamodel