2017-08-24 7 views
1

ERダイアグラムでは、2つの弱いエンティティを互いに関連付けることは可能ですか?可能であれば、どのようにレコード内のレコードを一意に識別できますか?2つの弱いエンティティを互いに関連付けることはできますか?

+0

あなたがここに達成しようとしているものの例を教えてください。 –

+0

たとえば、企業データベースの「employees of employees」テーブルは弱いエンティティです。それは "従業員"テーブルに依存します。別の弱い実体を「従業員の子供」テーブルに関連付けることは可能ですか? –

答えて

2

確かに可能です。請求書が行で構成され、領収書が請求書行に割り当てられた対応する行に分解される以下のER図を考えてみます。複数の領収書行を同じInvoiceLineに割り当てることができます。これはおそらく少し考案されているが、それは例として役立つだろう。

Relationship between weak entity sets

InvoiceLineエンティティセットが(InvoiceNumber, LineNumber)によって識別されます。同様に、ReceiptLineエンティティセットは(ReceiptNumber, LineNumber)によって識別されます。

任意のエンティティセット間の関係の決定要因は、多くの役割のエンティティセットの行列式の組み合わせです。エンティティセットが弱いのか規則的なのか、または関係に2つ以上のエンティティセットが含まれているかどうかは関係ありません。 1:1(または1:1:1など)の関係の場合、関与するエンティティセットのいずれかを行列式として使用できます。

この例では、ReceiptLineがmany-role(Paid関係のダイヤモンドの隣にNで表示されます)に設定されている唯一のエンティティです。これは、関係式がReceiptLineの行列式によって決定され、これが(ReceiptNumber, LineNumber)であることを意味します。

我々はER図が表形式モデルに変換する場合は、我々は次を得る:

Table diagram implementing relationship between weak entity sets

私はあなたが図面との対応を見るのを助けるためにそれを直接翻訳し、実際に、私たちは非正規化することができPaid関係の関係をより単純な物理モデルの場合はReceiptLineエンティティの関係に置き換えます。これは、単一の決定エンティティセットとの関係でのみ行うことができるため、まず一般的なアプローチを理解することが重要です。

Simplified tabular model

関連する問題