在我的居民协会 Rails 数据库中,我有 User、Plot 和 House 模型。(空地,拥有一栋或多栋房屋的地块,业主或租户居住的地方)。从数据库的角度来看,我将需要各种关系,例如
- PlotHouse - plot_id 上的 house_id
- PlotOwnership - user_id 拥有 plot_id
- HouseOwnership - user_id 只拥有 house_id 但不拥有地块
- 出租 - user_id 出租 house_id
- 亲属 - 业主或租户的关系
从功能和用户界面的角度来看,我需要具有不同角色的成员模型 - PlotOwners、HouseOwners、Tenants、Owner's Relatives、Tenant's relatives。我可以用现有的模型和关系做到这一点。
问题:在显示居民时,我无法根据用户或房屋属性中的任何一个对它们进行排序,因为它们来自不同的表。如果我使用来自 User、Plot、House 模型的列创建成员模型,我将复制这些列,因此存在数据库中不一致的风险。
我有 CS 背景,但不是生产级数据库设计、Rails 或其他。由于经常需要成员数据,只要我可以在系统中强制执行完整性,复制这些列是否合理?除了对内存中的数据进行排序之外,还有其他选择吗?
我将不同角色的成员视为报告,但由于经常需要它们,因此需要保留它们,因此需要重复查看,但用户/绘图/模型的基本模型似乎是管理员没有重复的方法。我的理解有差距吗?
- 贾亚万特