2017-08-24 154 views
1

在ER圖中,是否有可能將兩個弱實體相互關聯?如果可能的話,如何唯一地識別它們中的記錄?是否可以將兩個弱實體相互關聯?

+0

請給你正試圖在這裏實現什麼樣的例子。 –

+0

例如,公司數據庫中的「員工子女」表是弱實體。這取決於「員工」表。是否有可能將另一個弱項與「僱員的子女」表相關聯? –

回答

2

這當然是可能的。考慮以下ER圖,其中發票由行組成,並且收據分解成分配給發票行的相應行。多個收據行可以分配給相同的InvoiceLine。這可能有點做作,但它會作爲一個例子。

Relationship between weak entity sets

InvoiceLine實體集由(InvoiceNumber, LineNumber)識別。同樣,ReceiptLine實體集由(ReceiptNumber, LineNumber)標識。

任何實體集之間的關係的行列式是實體組在許多-角色的決定因素的組合。無論實體集是弱還是常規,或者您是否有兩個或兩個以上的實體集涉及關係。在1:1(或1:1:1等)關係的情況下,涉及的任何實體集都可以用作決定因素。

在我們的示例中,ReceiptLine是唯一以多角色設置的實體(由Paid關係菱形旁邊的N表示)。這意味着關係由ReceiptLine的行列式決定,即(ReceiptNumber, LineNumber)

如果我們把我們的ER圖,以表格模型,我們得到如下:

Table diagram implementing relationship between weak entity sets

我把它翻譯直接幫你看這些圖之間的對應關係,但在實踐中,我們可以非規範化的Paid關係關係爲一個更簡單的物理模型的ReceiptLine實體關係。這隻能用於與單個確定實體集合的關係,因此首先了解一般方法非常重要。

Simplified tabular model

相關問題