【问题标题】:Different Types Of Groups With Different Associations. How to organize this?具有不同关联的不同类型的组。如何组织这个?
【发布时间】:2011-05-23 16:10:47
【问题描述】:

我正在用 cakePHP 编写一个应用程序,但这更像是一个一般的数据库问题。我是编写数据库应用程序的新手,并且是 cakePHP 新手。

在我的应用程序中有用户,以及他们可以与之关联的 2 种不同类型的组。例如。

A 类 - A 类组包括{新用户、有经验的用户、高级用户、管理员、超级用户}。用户必须属于这些组中的 1 个且仅 1 个。这些组主要用于控制用户可以对应用程序执行的操作。

B 类 - B 类组包括{朋友、家人、同事、小混合、中混合、大混合等...}用户可以属于这些组中的许多组,也可以不属于这些组。全部。这些群组主要用于控制我们邀请谁参加某些功能和活动。

起初我以为我会有一个名为“Groups”的表,然后简单地添加一个名为“type”的恶魔,这样我就可以保持它们的不同但重复使用同一个表。对于 2 种不同类型的组,所有字段很可能是相同的。

但是,我认为这行不通,因为用户只能属于 A 类型的 1 个,但他们可以属于 B 类型的任意数量的组。仅使用 1 个表,关系怎么可能不同?

我剩下的唯一想法是创建 2 个表,每个组类型一个。这些字段至少现在会重复,但这将允许我与用户表有不同的关系,例如有一个、有 0 个或更多...

有没有更好的方法来做到这一点?我建议的解决方案是否合适?

【问题讨论】:

    标签: database-design cakephp


    【解决方案1】:

    在我看来,2 个单独的表是一个正确的解决方案,因为您有 2 个不同的概念,您称之为“组”。只需将第一个“组”重命名为其他名称,例如“类别”,一切都会有意义。

    【讨论】:

    • 感谢托尼,这很有意义。
    猜你喜欢
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 2016-04-16
    • 2015-12-19
    相关资源
    最近更新 更多