2010-06-11 100 views
1

從文檔:核心數據中的「關係的基數」是什麼意思?

如果所有的被管理對象的 關係刪除規則廢除, 則該物體至少有 沒有額外的工作要做(你可以有 考慮其他對象 關係的目的地 - 如果 的相反關係是 強制性的或具有 基數的下限,則目標 對象或對象可能處於無效狀態 )。

有人有這種基數的例子嗎?這有什麼好處以及對此有何重要意義? (聽起來很重要......)

回答

4

對象關係的基數定義了左端有多少對象映射到右端有多少對象。例如,它可以是:

  • 1 : 1(一對一) - 對於左側類型的每個對象,只需要一個正確類型的對象。在這種情況下,通常兩個對象都有一個指向另一個的指針或存儲它的唯一ID。
  • 1 : 1..*(一對多) - 對於左類型的每個對象,至少需要一個正確類型的對象,但可以創建更多對象。在這種情況下,通常左側的對象不知道右側的對象,但右側的對象具有指針或爲左側對象保留唯一的ID。
  • 1 : 0..1(一個可選一個) - 對於左側類型的每個對象,不需要正確類型的對象,但是如果存在的話,它不能超過一個。在這種情況下,通常左側的對象不知道右側的對象,但右側的對象具有指針或爲左側對象保留唯一的ID。
  • 1..* : 1..*(多對多) - 對於左類型的每個對象,至少需要一個正確類型的對象,但是正確類型的一個對象可能滿足左類型多個對象的需求。在這種情況下,通常左側和右側的兩個對象都不知道其他對象,但它們都有一個指向常見第三個對象的指針或保留定義關係的唯一標識。

注意的是,雖然在我所有的例子我談論合適的對象向左對象的關係,每一個基數可以逆轉的,還有一些基數的指定雙向要求(即。從右到左和從左到右)

下面是關於Cardinality關於數據模型的更多信息。

特別是,從核心數據上段指出,如果你刪除一個對象,它是對一個1 : 11 : 1..*1..* : 1..*關係右側(換言之,一個或多個其他對象依賴於這是否存在特定對象),這種關係左側的對象將處於無效狀態。

+0

很好的回答。因此,如果一端的基數「低」,則意味着結束的對象較少。即1:n關係(一對多)意味着左邊的基數是1,右邊的基數是n,因此更高? – dontWatchMyProfile 2010-06-11 20:01:09

+0

是的,這是正確的。但是特定結束的基數通常無關緊要,因爲它用於定義對象的關係,而不是它們的順序。 – 2010-06-12 05:03:20