町内会のRailsデータベースには、ユーザー、プロット、ハウスのモデルがあります。(空のプロット、所有者またはテナントが住んでいる1つ以上の家のあるプロット)。データベースの観点から、私はさまざまな関係が必要になります。
- PlotHouse-plot_idのhouse_id
- PlotOwnership-user_idはplot_idを所有しています
- HouseOwnership-user_idはhouse_idのみを所有し、プロットは所有していません
- レンタル-user_idはhouse_idを借ります
- 親戚-所有者またはテナントの関係
機能とユーザーインターフェイスの観点から、さまざまな役割(PlotOwners、HouseOwners、テナント、所有者の親戚、テナントの親戚)を持つメンバーモデルが必要です。私は既存のモデルと関係でそれを行うことができます。
問題:「居住者」と表示している間、それらは異なるテーブルからのものであるため、ユーザーまたはハウスの属性のいずれかで並べ替えることができません。User、Plot、Houseモデルの列を使用してメンバーモデルを作成すると、列が複製されるため、データベースに不整合が生じるリスクがあります。
私はCSのバックグラウンドを持っていますが、本番レベルのデータベース設計、Railsなどは持っていません。メンバーデータは頻繁に必要になるため、システムで整合性を強制できる限り、これらの列を複製することは合理的ですか?メモリ内のデータを並べ替える以外に他の方法はありますか?
さまざまな役割のメンバーをレポートとして表示しますが、頻繁に必要になるため、表示のために重複するため、永続化する必要がありますが、管理者向けの重複のないユーザー/プロット/モデルの基本モデルが方法のようです。私の理解にギャップはありますか?
- ジャヤワント