我对处理这种类型的数据的最佳方式有疑问。对象模型设计
在我的系统中,我将拥有许多用户和许多帐户......用户可以属于多个帐户,并且帐户将拥有许多用户。我猜最好的方式来完成,这是三个用表
用户
占
& users_accounts
我的问题是,当有人为付费帐户报...我应该在哪里存储区分帐户和帐户持有人的常规用户的标志? users_accounts表中是否应该有owner标志?
我对处理这种类型的数据的最佳方式有疑问。对象模型设计
在我的系统中,我将拥有许多用户和许多帐户......用户可以属于多个帐户,并且帐户将拥有许多用户。我猜最好的方式来完成,这是三个用表
用户
占
& users_accounts
我的问题是,当有人为付费帐户报...我应该在哪里存储区分帐户和帐户持有人的常规用户的标志? users_accounts表中是否应该有owner标志?
我可以假设,一个账户不能有一个以上的用户(1对多的关系)?在这种情况下,两桌就足够了:
users
accounts
凡accounts
包含用户ID的参考。当没有多对多关系时,单独的关系表将是多余的。
接下来的问题是:可以将用户拥有有偿和无偿的帐户?如果是这样,该旗帜属于accounts
。否则,它属于users
。
考虑到您的说明,您的三表设计是适当的。您的问题的答案完全取决于您想要付费帐户的工作方式。
users
。accounts
。users_accounts
。如果每个帐户只有一个所有者,那么你应该把代表在accounts
表所有者的用户ID。
Users
表将只有用户相关的数据...姓名,等等 accounts
将有帐户...类型和任何其他数据的信息...
的关键是users_accounts
是Users
和accounts
之间的关系表,因此它将具有从Users
到accounts
的任何链接数据,并且您应该放置该标志,因为在您设置关系时存在该标志。
那里在users_accounts表中? – ThinkingInBits
我对表名称感到困惑... users_accounts是关系表,那里你应该把这个标志...结构应该看起来像这样: 'id - id_users - id_accounts - flag' – admin
将一个paid
标记添加到user_account
。
例子属性:
user (id, name, street ...)
account (id, name ...)
user_account (user_id, account_id, paid)
您可以通过paid
列告诉我们,如果用户是一个溢价账成员与否。
对不起,我想我没有澄清。每个帐户也有许多用户。 – ThinkingInBits
用户不会有付费帐户和未付款帐户,但他们可能是'帐户持有人'或者'帐户成员' – ThinkingInBits
在这种情况下,我会将该标志存储在帐户表中。如果该帐户已付款,则所有用户都可以获得付款,对吗? –