针对用户类型的数据库设计

时间:2014-07-23 15:29:18

标签: database-design orm playframework-2.0 ebean

我计划的网络系统主要有两种类型的用户。我的项目由Play提供支持!框架和ebean作为ORM层。

现在,使用OOP透视图,我应该创建一个User模型,然后再创建另外两个扩展User的类。另一种方式,相对简单的是创建两个不同的模型,因此创建两个不同的DB表。

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

由于

1 个答案:

答案 0 :(得分:1)

如果有什么东西并且永远是泛化的特化,那么使用继承。

如果某些东西扮演某种角色,那就使用构图。

示例:

个人始终是抽象的合法政党的专长。

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

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