Cardinality在數據模型中的意思

最近在翻譯一本數據庫的教材,碰到Cardinality這個詞,這個詞在許多國內的數據庫教材中不常見。查了一下英文資料以爲頗有必要翻一下, 原文地址
內容以下:

Cardinality defines the numeric relationships between occurrences of the entities on either end of the relationship line.

基數是寫在關係線兩端 ,代表實體從一邊經過關係能夠獲得另外一邊實體的數量。
(翻譯的太爛。。)

 下面是一些實例:


LINK 這是0:0可選的關係,這樣表達的意思就是:一個person 能夠佔用一個停車位(parking space),可是不必一個person有一個停車位,也不必一個停車位必須有一我的。雖然這個概念很簡單,可是在數據庫中實現卻並不直接。你可能得令一個實體做爲主表,使用觸發器或者程序來限制在另外一張表裏關聯的記錄數目。

SubType 這是1:0的關係;只有一方有選擇性。意思就是說一我的多是一個程序員,那麼一個程序員 必定是一我的。關係中強制方必須做爲主表。跟前面同樣,用觸發器和程序來控制數據庫。

Physical Segment 這是1:1的強制型關係。一我的必須有且僅有一個DNA序列,一個DNA序列也必須對應且僅對應一我的。
Possession 這是0:M(0對多)的可選型關係,意思就是一我的可能有0個電話,1個,或多個電話;某個電話可能沒有主人,可是最多隻能屬於一我的。數據庫裏的實現方式:在phone表裏設置一個能夠爲空的外鍵列,用這個列來關聯person表。

Child 這是1:M的強制型關係,這是在數據庫裏最多見的一種關係類型,一我的多是或者不是一個會員,可是有可能對應好幾個club的會員(假如member實體表述的是多個club裏的全部會員記錄),毫無疑問,一個會員必須是一我的。數據庫裏,會員表必須有一個強制不爲空的外鍵。實現二實體間的關聯。
這個例子不太好,假設全部人的名字不重複。
Characteristic 這是0:M的關聯,在M的一端是強制性的。這意思是說,一我的必須有至少一個名字,能夠有多個名字,一個名字可能屬於某一我的(或沒主人)。在數據庫裏,能夠再name表裏設置一個能夠爲空的外鍵指向person表,使用觸發器或者程序來強制一個person必須至少有一個名字。

Paradox 這是1:M實體兩邊都是強制型的關係。

Association 這是M:M(多對多)的可選型關係。概念上是這樣的:一我的能夠選擇爲0個,1個或多個老闆工做,一個老闆能夠有0個,1個或多個員工。通常對於M:M這種多對多關係在數據庫裏面拆分紅兩個0:M的關係。中間實體表名能夠叫作employee,由於它是用來將person實體聯繫到老闆實體的。
相關文章
相關標籤/搜索