ER模型學習


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)。

類似地,可以給出一元聯系,三元聯系的一對一,一對多,多對多定義,特別注意多元聯系的多對多聯系方式。

例子:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM