2016-05-19 2 views
1

すべてのスタックオーバーフローメンバーにこんにちはER図を描画する混乱するシナリオ

私はリレーショナルデータベースモジュールでエンティティリレーションシップダイアグラムを研究しています。エンティティを作成し、主キー、外部キー、エンティティ間の関係およびカーディナリティ制約を含む各エンティティの属性を識別するのに十分なER図について学習しました。

コベントリー大学から公式のシナリオを得ました。このシナリオに基づいてER図を描くように求めています。問題は;生徒の誰も正しい答えを得ていない(ERDに満足していない)場合、インストラクターと教師もそれについて混乱していた。私は理解したように答えましたが、私は私の答えに満足していません。

これはシナリオです:

次のシナリオのモデリングプロジェクト管理活動に組織内の を考えてみましょう。

車の販売会社は、 のお客様に、 の返済スキームを使用して1年、2年、3年、4年または5年間にわたって車を購入するオプションを提供しています。
お客様は のスキームで1台または複数の車を購入する可能性があります。顧客が 車を購入すると、購入ごとに返済スキームオプション のいずれかを選択するか、または一度に全額を支払うことになります。 返済スキームオプションは1人以上のお客様が選択するか、 全く選択することはできません。顧客は、一意の顧客 番号、名前、住所、および電話番号を持ちます。返済計画 オプションには、一意の返済スキーム番号、名前、および返済期限( )があります。車はユニークな車のコード、 メイク、モデル、製造年と価格を持っています。

は、営業担当者に車の販売に関する手数料を支払うため、 には、その販売に支払うユニークな 販売IDと手数料が含まれる各販売に関する情報も保持されます。同社はまた、 は、販売とその車に関与したことを知りたいので、 取引に関与しているので、手数料を決定することができます。営業担当者 は、一意の営業担当者ID、名前、電話番号、およびメールアドレス を持ちます。

そして、これは、要件/質問です: は、上記のシナリオのエンティティ関係ダイアグラム(ERD)を作成します。主キー、外部キー、エンティティ間の関係、および カーディナリティー制約を含む、すべてのエンティティ、各エンティティの 属性を識別します。あなたのデザインをサポートするために必要な仮定を述べてください。

私の答え:

Car sale database diagram

私は私の答えが正しいかどうかを知りたいですか?そうでない場合、正しい答えは何ですか?

ありがとうございました

答えて

2

ようこそStackOverflow。あなた自身の答えを提示してくれてありがとう。あなたの答えに

フィードバック:

あなたはキーでいくつかの困難を抱えています。プライマリキーに外部キーを含める必要はありません。

お客様は、各顧客をrepayment_scheme_numberに関連付けることになります。つまり、お客様は、すべての購入に対して1つの返済スキームしか選択できません。私は彼が購入ごとのスキームを選択することができます言うように割り当てをお読みください。

を顧客が車を購入するとき、彼または彼女は関連付けることにより、それぞれの購入

のための返済スキームオプションのいずれかを選択するようになります各車には顧客と営業担当者があり、車は一度しか販売することができず、販売と販売される車との間には何の関係もありません。

また、エンティティとリレーションシップを区別しませんでした。外部キー制約は関係ではなく、ERの関係はテーブル(またはエンティティ関係とは対照的にER用語の関係関係)として実装されます。外部キー制約は、存在しない値を関連させないための完全性制約です。

私の答え:

Car sale ER diagram

それはエンティティと関係を区別するので、私は陳の表記法を使用していました。外部キー制約は、エンティティとリレーションシップの間の線で表されます。直接実装

、物理モデルは次のようになります。

Car sale physical model

あなたが見ることができるように、このフォーマットは、それが見てすることによって決定することができるものの、テーブルは、エンティティまたは関係を表す示すものではありませんテーブルの主キー。もう少し効率的な設計は同じ決定との関係非正規化することによって得ることができる。

Car sale physical model 2

+0

を私はER図の描画を経験したことないですと思い、あなたの答えをいただき、ありがとうございます。あなたの答えは私を100%満足させました。私は、外部キーが関係として使用できないことを知りませんでした。そして、私はエンティティダイアグラムをもっと理解しています。ありがとうございました – Khaledtaj8