【问题标题】:Database design for types of users针对用户类型的数据库设计
【发布时间】:2014-07-23 15:29:18
【问题描述】:

我正在规划一个网络系统,其中主要有两种类型的用户。我的项目由 Play 提供支持!框架和 ebean 作为 ORM 层。

现在,从 OOP 角度来看,我应该创建一个 User 模型,然后再创建两个扩展 User 的类。另一种相对简单的方法是创建两个不同的模型,从而创建两个不同的数据库表。

最好的选择方式是什么?为什么?

谢谢

【问题讨论】:

    标签: database-design orm playframework-2.0 ebean


    【解决方案1】:

    如果某事是并且总是将是泛化的特化,那么使用继承。

    如果某物扮演某物的角色,则使用组合。

    例子:

    个人是并将永远是抽象法律方的专业化。

    一个人可能有一天是客户,下一个是员工,下一个是供应商。他们扮演这些角色。在这种情况下使用组合。

    那么对于您的用户来说,他们是永久专业化的吗?或者他们是不同类型的角色?

    【讨论】:

    • 好吧,我可能需要考虑一下。顺便问一下,你对作曲的技术定义是什么? (在这种情况下)
    • hasOne 或 hasMany 关系将是组合
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 2013-09-25
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多