4

次の質問があります。

二項関係のみを使用して、以下の説明のエンティティ関係図を作成します。エンティティ ラベル、主キー フィールド、関係ラベル、および関係の多重度を含めます。

「ある会社は、それぞれ固有の番号 (gargNo) を持つ複数の車の修理およびサービス ガレージを運営しています。車の所有者がガレージに連絡すると、その詳細が記録され、所有者番号が割り当てられます。彼らの車もそのガレージに登録されており、参照番号 (carNo) が割り当てられます. 所有者は 1 台または複数の車を所有できますが, 車は 1 つのガレージにしか登録できません. 車がガレージに予約されると、サービスプランが作成されます. サービスプランは、特定の車に固有のもの (例: きしむフロントガラスのワイパーを治す) または多くの車に使用されるもの (例: 標準の 60000 マイル サービス) である場合があります。ワイパー モーターなど) サービス プランの各タイプの操作には固有の番号 (operationNo) があります。

これが私の答えです:

ここに画像の説明を入力

すべてのデータベースのベテランにとって、これは問題ないように見えますか?

また、その他ご意見・ご感想をいただければ幸いです...

宿題ではない

編集 - なぜ人々は投稿を編集し続けるのに変更を加えないのですか?

4

2 に答える 2

2

与えられた要件のみに完全に基づいており、考えられる現実世界の複雑さ (所有者があるガレージから別のガレージに車のサービスを移動するときに何が起こるかなど) をすべて無視します。

私は会社を去ります。これまでに言及されたのは 1 つだけであり、複数の企業のデータを記録しているという兆候はありません。

車の所有者とガレージの関係は、車を通じてです。車の所有者とガレージの間に直接の関係はありません。(複数のガレージがある場合、特定の複数の車の所有者がシステムに表示されるようにすることは、強制するのが難しいでしょう。)

車とガレージの関係は、おそらく「で登録」する必要があります。厳密に読むと、車はサービスのために持ち込まれたときではなく、所有者が連絡したときにガレージに関連付けられることを意味します。

エンティティServicePlanType [SPT]が必要です。ほとんどの SPT は事前に定義されており、複数の車が特定の SPT (60,000 マイル チューンアップ) を使用します。追加の SPT は、必要な場合、いつ、必要に応じて追加されます。「標準」と「アドホック」のサブタイピングについて議論することもできますが、(操作に基づいて) 非常に似ているため、これは必要ではないと思います。それで:

  • サービス プランは 1 台の車と 1 つのサービス プラン タイプに関連しています
  • サービス プランは 1 つのサービス プラン タイプに関連付けられます
  • サービス プラン タイプは、0 個以上のサービス プランに関連します (標準プランのリスト)
  • サービス プランのタイプは、1 つ以上の操作に関連しています (すべての操作を定義する必要があります)。

操作は、0 個以上のサービス プラン タイプに関連している場合があります。アドホック サービス プランの必要性を考えると、最初は特定のセット サービス プランに属さない操作が必要になる場合があります。(それか、必要に応じて追加されるので、それは許容範囲かもしれません。私の妹のスナネズミは、学校の帰りに一度脱走し、車の一部を分解して出さなければなりませんでした。無料です。おそらく彼らは持っていませんでした。データベースで「スナネズミを抽出」します。) (私はそれをでっち上げているわけではありません。)

サービスプランのタイプや操作をガレージと関連付けることはありません。おそらく、会社の 1 つのガレージでそれができるのであれば、アドホックなガレージも含めて、すべてのガレージでできるはずです。

サービス プランの対象となる車はガレージに関連付けられているため、サービス プランをガレージに関連付ける必要はありません。そうは言っても、物理的な実装の時が来たら、そうするのが良いかもしれません. また、車が後で 2 番目のガレージに持ち込まれた場合、車とガレージの関係が変化し、サービス プランとガレージの関係がなければ、誰が以前の作業を行ったかを追跡できなくなります。適切に、所有者から車、サービス計画、ガレージをモデル化したいと思うと思いますが、具体的には「車からガレージ」と綴られています。これらの質問を提起し、事業主の言葉を見てください。

于 2011-04-25T14:07:19.813 に答える
1

問題文に基づいて、次のことを思いつきました。

ここに画像の説明を入力

簡単にするために、Address、OwnerDetails などの一般的なフィールドを使用しました。

編集:サービスプランと運用の間の多対多の説明:

オペレーション「オイル交換」は、サービスプラン「30K メンテナンス」、「60K メンテナンス」、および「オイル交換」の一部です。

もちろん、「30K メンテナンス」と「60K メンテナンス」のサービス プランには、複数の操作 (オイル交換、ブレーキ フルードの補充、タイヤ空気圧のチェック、タイヤのバランスとローテーション) があります。

したがって、サービス プランと運用の関係は多対多の関係です。

この構造は、VehicleService インスタンスに適用できるテンプレートです。

于 2011-04-25T22:59:11.633 に答える