设计实施。管理员作为单独的表或列

时间:2012-01-19 03:43:13

标签: ruby-on-rails devise theory

可能我的问题是理论问题,但我想知道您对作为单独的表或者Users表中的列的设计用法的看法。

讨论的一些基本观点很棒: 1.在什么情况下你会选择这个或其他实施? 2.将它作为单独的表实现时,有哪些方法可以添加? 3.您如何找到实施设计的最简单方法,以及为什么?

提前谢谢

1 个答案:

答案 0 :(得分:1)

当然,您可以在每个应用程序中执行2个或更多设计模型。

但在很多情况下'Single Table Inheritance(STI)'可能对你有很大的帮助 如果数据没有差异并具有相同的行为,那么是好的 这将使您有时轻松处理复杂数据

但是当每个角色存储不同的数据且查询时间较慢时,表中会创建大量的空列

如果您想要自定义更多角色可以执行的操作,那么Devise Cancan可以帮助您轻松生活。

<强> PS。在现实生活中,规范化数据并不意味着它具有良好的数据库设计。