关于处理这类数据的最佳方法,我有一个问题。
在我的系统里,我会有很多用户和帐户.用户可以属于许多帐户,并且帐户将有许多用户。我猜最好的方法是用三张桌子
用户
账号
& users_accounts
我的问题是,当有人注册一个付费账户时.我应该将区分帐户的常规用户和帐户持有人的标志放在哪里?在users_accounts表中应该有一个所有者标志吗?
发布于 2011-11-23 15:30:04
我是否可以假设一个帐户不能有多个用户(一对多的关系)?在这种情况下,两个表就足够了:
usersaccounts其中accounts包含对用户id的引用。当没有多到多的关系时,单独的关系表将是多余的。
然后问题就出现了:用户可以同时拥有已付费和未支付的帐户吗?如果是这样,则该标志属于accounts。否则,它属于users。
考虑到您的澄清,您的三个表的设计是合适的。那么,你的问题的答案完全取决于你希望如何支付帐户的工作。
,
users.accounts.users_accounts.如果每个帐户只有一个所有者,那么您应该在accounts表中放置一个代表所有者的用户id。
发布于 2011-11-23 15:32:27
Users表将只有与用户相关的数据.姓名,姓氏等..。accounts会有这个账户的信息..。类型和其他数据..。
关键是users_accounts是Users和accounts之间的一个关系表,因此它将有从Users到accounts的任何链接数据,您应该在那里放置标志,因为当您设置关系时是存在的。
发布于 2011-11-23 15:42:15
向paid添加user_account标志。
示例属性:
user (id, name, street ...)account (id, name ...)user_account (user_id, account_id, paid)您可以通过paid列判断用户是否是高级帐户成员。
https://stackoverflow.com/questions/8244669
复制相似问题