私はプロジェクトに取り組んでいます(これは私の質問にはあまり関係ありませんが、Djangoに基づいています)、私はデータモデルを表現する最良の方法を考え出すのに苦労しています。データベース設計 - これらの関係を管理する最善の方法
私は、次の4つのモデルがあります:ユーザー、 クライアント、 会議、 場所
ユーザーとクライアント
は、会議モデルを通じて多対多の関係を持っています。ミーティングモデルは、ロケーションモデルと1対1の関係にあります。
ミーティングのいずれかで行われます:
- ユーザー(またはのUserProfile)で定義されたアドレスをモデル
- クライアントモデルで定義されたアドレス。
- 後で定義する必要があるその他の場所。
できるだけクリーンで再利用可能にするために、ロケーションデータを保存する最善の方法を検討するのは難しいです。これはまた、会議の多くは、同じ場所に作成された場合に冗長データにつながる可能性があるが、これはおそらくです -
は、私はむしろそれ自体でのモデルよりもミーティングモデルのフィールドとして場所を作ると考えられ非スターター。
私は、作成される各ユーザーとクライアントのロケーションレコードを自動的に作成し、関連するレコード間に一般的な関係を使用することができますが、データベースのパフォーマンスが非効率的になる可能性があります。また、すべてのクライアント/ユーザーが自分の場所で会議を開催できるわけではありません。
誰もが賢い選択肢を見ることができますか?
アドバイスありがとうございます。
ありがとうございました。