1.實體(entity)就是具有公共性質的可區別的現實世界對象的集合。例如CAP數據庫
中的客戶,代理商、產品都為實體。分別表示不同對象的集合。數學表述中通常用一個
大寫字母代表實體,一個實體E由一個現實世界對象的集合構成,使用小寫字母加下標
表示這些對象:E={e1,e2,....,en}.
2.屬性(attribute)是描述實體或者聯系的性質的數據項,在實體的定義中說,屬於一個實體
的所有實體實例具有共同性質,這些性質就是屬性。在一個實體中,能夠唯一標識實體的實例
的屬性或屬性集合稱為實體標識符(主鍵)。屬性域是屬性的可能取值范圍,也稱為屬性的值域。
屬性的分類:
基本屬性和復合屬性
基本屬性石不可再分割的屬性,復合屬性石可再分解為其他屬性的屬性。例如性別,年齡,為基本屬性;
地址屬性為復合屬性,因為地址可以分解為郵編、省(市)、縣(區)、街道等子屬性。
單值屬性和多值屬性
單值屬性指的是同一實體的屬性只能取一個值,多值屬性指同一實體的某些屬性可能取多個值,例如
年齡屬性只能取一個值,是單值屬性;學位是多值屬性,可以去學士、碩士、博士多個值,愛好也是多
值屬性。
導出屬性和空值屬性
通過具有相互依賴的屬性推導而產生的屬性稱為導出屬性,例如:年齡可以由出生年份導出;當實體的實例
在某個屬性上沒有值時,應使用空值(NULL),NULL還可以用以值未知,可以使用null的屬性稱為空值屬性;
3.聯系(relationship):給定m個實體的有序列表:E1,E2,.....Em(列表中同一實體可以出現多次),
一個聯系R定義了這些實體實例之間的對應規則。聯系表示一個或多個實體之間的關聯關系,聯系是實體之間的
一種行為,一般用動詞(英語用動名詞)來命名聯系。
聯系的元數
一個聯系涉及到的實體個數,稱為該聯系的元數或度數。同一個實體的實例之間的聯系稱為一元聯系,也稱為遞歸聯系;
兩個不同實體的實例之間的聯系稱為二元聯系;三個不同實體實例之間的聯系稱為三元聯系;以此類推。
聯系的屬性
聯系也可以有附加的屬性。經常先不考慮ER圖中的的聯系的屬性。集中精力考慮實體的聯系、
聯系中實體的基數
兩個有聯系R的實體E和F,E中每個實例可能與F中的實例聯系,(聯系實例數目大於0),也可能沒有與F中的實例聯系(聯系實例數目等於0)
E中每個實例與F中有聯系實例數目的最小值和最大值,稱為E的基數。記作mincard(E,R)和maxcard(E,R)。同理有mincard(F,R)和
maxcard(F,R)。
聯系中實體的基數
例如學生實體E和課程實體F有選修聯系R,每位學生至少選1門課,最多選10門課;每門課程最多100人選,至少可以沒人選。則有:
mincard(E,R)=1,maxcard(E,R)=10。
mincard(E,R)=0,maxcard(F,R) = 100。
一個實體E參與聯系R,並且mincard(E,R)=x,maxcard(E,R)=y,那么在ER圖中,E和R之間的連接線可以用標記:card(E,R)=(x,y)表示
實體的基數。
聯系的方式
聯系涉及到實體之間實例的對應方式,二元聯系的聯系方式有四種:1:1,1:N,M:N,M:1。由於M:1是1:N的反面,通常不單獨提及。
如果實體E和F在聯系R中有maxcard(E,R)=1,maxcard(F,R)=1,那么E和F聯系是1:1的。
如果實體E和F在聯系R中有maxcard(E,R)=N,maxcard(F,R)=1,那么E和F聯系是1:N的。
如果實體E和F在聯系R中有maxcard(E,R)=M,maxcard(F,R)=N,那么E和F聯系是M:N的。
當一個聯系R中的實體E具有mincard(E,R)=1時,E稱為強制參與R(mandatory participation),或簡稱E在R中
是強制的,一個實體F在R中不是強制的,則稱為可選的(optional participation)。
類似地,可以給出一元聯系,三元聯系的一對一,一對多,多對多定義,特別注意多元聯系的多對多聯系方式。
例子: