私はサブスクリプション ベースのサービス プロバイダーをモデル化しようとしています。ユーザーがさまざまなサービスのパッケージにサブスクライブする次のモデルを定義しました。各パッケージ レベルには 1 つ以上のサービスが含まれます。
+---------------+ +-----------------+ +----------+
| Packages |<--- | PackageServices | ---> | Services |
+---------------+ +-----------------+ +----------+
^
|
+---------------+ +----------+
| Subscriptions |---> | Users |
+---------------+ +----------+
ただし、各サービスには独自のユーザー定義設定があり、各サービスには、サービス データを格納するための他のエンティティの配列が関連付けられている場合があります。特定のユーザーの各サービスのデータ エンティティを処理できますが、設定テーブルに困惑しています。ユーザーとサービスをキーにした「ServiceSettings」テーブルを作成することを考えましたが、それは少し奇妙に思えます。このアプローチでは、次のような疑問が残ります。
- パッケージをアップグレードして新しいサービスを取得したらどうなりますか?
- 新しい ServiceSettings は、ユーザーが購読しているサービスのみに設定または制限するにはどうすればよいですか?
- 新しいサービスを追加するとどうなりますか?
私は正しい道を進んでいますか、それとも欠けているように見える別の選択肢がありますか?
前もって感謝します!