【问题标题】:database design: customers, users, groups an owners数据库设计:客户、用户、组和所有者
【发布时间】:2013-02-26 20:11:49
【问题描述】:

我有一个问题,但我找不到任何解决方案。

我有用户分组,一个用户不能超过一个组(所以,一个组有很多用户。这里没有问题)。 一个组的一个用户必须是该组的所有者,同样,它不能是两个或多个组的所有者(因为一个用户不能在多个组中)。 最后,组的所有者必须是父客户表的子表。

为了澄清, 一个用户可以在一个组中。一个组可以有很多用户, 组的所有者是用户,也是客户。 一个组只能有一个所有者。

我需要一个设计来支持这一点,我尝试了很多 ERD,但我找不到解决方案。

【问题讨论】:

  • 画出你试过的ERD,贴在这里。
  • 我最近尝试了这个 ERD tinyurl.com/bvt8twf,我认为这可以解决我的问题。在这方面,OWNERS 是 CUSTOMERS 的专业化,与 GROUPS 和 USERS 具有一对一的关系。

标签: database usergroups


【解决方案1】:

客户
ID, 名称

用户 ID, 姓名, 组ID, IsOwner(布尔值), 客户编号

ID, 姓名, 所有者(用户 ID)

抱歉,如果我错过了您的问题的重点!

【讨论】:

  • 您没有遗漏任何东西...但是,用户不是唯一的客户,所有者是客户...我的意思是,不是每个用户都是组的所有者,而是组的每个所有者一个客户。 (在这里,也许,必须聚合一些东西)。是顶级类CONTACTS,客户,供应商和用户从该类继承,但所有者从客户继承。 (希望现在清楚)。
  • 只是想弄清楚这一点 - 用户是否有关联的客户,或者客户是否属于用户类型,或者他们之间有任何关系?
  • 也许我不能很好地解释我退出了。用户不是客户,只有所有者才是客户(但就像我说的,一个所有者对应一个用户,但并非每个用户都可以成为所有者……这很棘手)。希望你能理解我。干杯!!
  • 所以一个组将有一个用户作为所有者以及所有者作为客户 - 如果是这种情况,会这样做吗?:用户:ID,名称, GroupID Group:ID、名称OwnerCustomer:ID、名称、GroupID、OwnerUserID(用户ID)、GroupID
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 2010-10-19
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 2019-04-17
相关资源
最近更新 更多