与えられた要件のみに完全に基づいており、考えられる現実世界の複雑さ (所有者があるガレージから別のガレージに車のサービスを移動するときに何が起こるかなど) をすべて無視します。
私は会社を去ります。これまでに言及されたのは 1 つだけであり、複数の企業のデータを記録しているという兆候はありません。
車の所有者とガレージの関係は、車を通じてです。車の所有者とガレージの間に直接の関係はありません。(複数のガレージがある場合、特定の複数の車の所有者がシステムに表示されるようにすることは、強制するのが難しいでしょう。)
車とガレージの関係は、おそらく「で登録」する必要があります。厳密に読むと、車はサービスのために持ち込まれたときではなく、所有者が連絡したときにガレージに関連付けられることを意味します。
エンティティServicePlanType [SPT]が必要です。ほとんどの SPT は事前に定義されており、複数の車が特定の SPT (60,000 マイル チューンアップ) を使用します。追加の SPT は、必要な場合、いつ、必要に応じて追加されます。「標準」と「アドホック」のサブタイピングについて議論することもできますが、(操作に基づいて) 非常に似ているため、これは必要ではないと思います。それで:
- サービス プランは 1 台の車と 1 つのサービス プラン タイプに関連しています
- サービス プランは 1 つのサービス プラン タイプに関連付けられます
- サービス プラン タイプは、0 個以上のサービス プランに関連します (標準プランのリスト)
- サービス プランのタイプは、1 つ以上の操作に関連しています (すべての操作を定義する必要があります)。
操作は、0 個以上のサービス プラン タイプに関連している場合があります。アドホック サービス プランの必要性を考えると、最初は特定のセット サービス プランに属さない操作が必要になる場合があります。(それか、必要に応じて追加されるので、それは許容範囲かもしれません。私の妹のスナネズミは、学校の帰りに一度脱走し、車の一部を分解して出さなければなりませんでした。無料です。おそらく彼らは持っていませんでした。データベースで「スナネズミを抽出」します。) (私はそれをでっち上げているわけではありません。)
サービスプランのタイプや操作をガレージと関連付けることはありません。おそらく、会社の 1 つのガレージでそれができるのであれば、アドホックなガレージも含めて、すべてのガレージでできるはずです。
サービス プランの対象となる車はガレージに関連付けられているため、サービス プランをガレージに関連付ける必要はありません。そうは言っても、物理的な実装の時が来たら、そうするのが良いかもしれません. また、車が後で 2 番目のガレージに持ち込まれた場合、車とガレージの関係が変化し、サービス プランとガレージの関係がなければ、誰が以前の作業を行ったかを追跡できなくなります。適切に、所有者から車、サービス計画、ガレージをモデル化したいと思うと思いますが、具体的には「車からガレージ」と綴られています。これらの質問を提起し、事業主の言葉を見てください。