首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象模型设计

对象模型设计
EN

Stack Overflow用户
提问于 2011-11-23 15:24:07
回答 3查看 117关注 0票数 1

关于处理这类数据的最佳方法,我有一个问题。

在我的系统里,我会有很多用户和帐户.用户可以属于许多帐户,并且帐户将有许多用户。我猜最好的方法是用三张桌子

用户

账号

& users_accounts

我的问题是,当有人注册一个付费账户时.我应该将区分帐户的常规用户和帐户持有人的标志放在哪里?在users_accounts表中应该有一个所有者标志吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-23 15:30:04

我是否可以假设一个帐户不能有多个用户(一对多的关系)?在这种情况下,两个表就足够了:

  • users
  • accounts

其中accounts包含对用户id的引用。当没有多到多的关系时,单独的关系表将是多余的。

然后问题就出现了:用户可以同时拥有已付费和未支付的帐户吗?如果是这样,则该标志属于accounts。否则,它属于users

考虑到您的澄清,您的三个表的设计是合适的。那么,你的问题的答案完全取决于你希望如何支付帐户的工作。

  • ,一个付费用户在所有帐户中会有额外的功能吗?那么标志属于users.
  • Will,用户在付费帐户中有额外的功能吗?那么标志属于accounts.
  • Will,付费用户只有付费帐户才有额外的功能?那么这个标志就属于users_accounts.

如果每个帐户只有一个所有者,那么您应该在accounts表中放置一个代表所有者的用户id。

票数 1
EN

Stack Overflow用户

发布于 2011-11-23 15:32:27

Users表将只有与用户相关的数据.姓名,姓氏等..。accounts会有这个账户的信息..。类型和其他数据..。

关键是users_accountsUsersaccounts之间的一个关系表,因此它将有从Usersaccounts的任何链接数据,您应该在那里放置标志,因为当您设置关系时是存在的。

票数 0
EN

Stack Overflow用户

发布于 2011-11-23 15:42:15

paid添加user_account标志。

示例属性:

  • user (id, name, street ...)
  • account (id, name ...)
  • user_account (user_id, account_id, paid)

您可以通过paid列判断用户是否是高级帐户成员。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8244669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档