プロジェクトの MVC パラダイム (CakePHP) を使用して、ソーシャル ネットワーキング サイトのシンプルなデザインを作成しています。すべてのユーザーの詳細を格納する Users というテーブルがあり、すべてのグループの詳細を格納する Groups テーブルがあります。これら 2 つのモデル間の関係は多くのものに属しており、グループに属するすべてのポートフォリオを格納する group_portfolios テーブルと、ユーザーに関連するすべてのポートフォリオ情報を格納する user_portfolio テーブルがあります。ユーザーは複数のポートフォリオを持つことができます グループは複数のポートフォリオを持つことができます ユーザーは多くのメディアを持つことができます グループは多くのメディアを持つことができます
ユーザーとグループに関連付けられたメディアの機能を分離しました。私の質問は、
1) MVC アプリケーションのモデリングに関して、私は正しい方法で考えていますか?
2) ユーザーとグループの機能を分離しているため、メディアやポートフォリオなど、それらに関連するすべての情報を表す 2 つのテーブルができあがっています。これにより、特にポートフォリオなどを検索するときに、冗長性やパフォーマンスに関連する問題が発生しますか?
3) 後で機能を追加したい場合、これは拡張できますか?
4) システムをモデル化するためのより良い方法はありますか?
ありがとうございました