22~26ER模型的基本概念_第1頁
22~26ER模型的基本概念_第2頁
22~26ER模型的基本概念_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余3頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫系統(tǒng)原理2.2ER模型的基本概念ER模型由PeterChen于1976年在命題為“實(shí)體聯(lián)系模型:將來的數(shù)據(jù)視圖”論文中提出。2.2.1ER模型的基本元素1實(shí)體定義:實(shí)體:是一個(gè)數(shù)據(jù)對(duì)象,指應(yīng)用中可以區(qū)別的客觀存在的實(shí)物。實(shí)體集:是指同一類實(shí)體構(gòu)成的集合。-實(shí)體類型:是對(duì)實(shí)體集中實(shí)體的定義。ER模型中提到的實(shí)體往往是指實(shí)體集。實(shí)體用方框表示,方框內(nèi)注明實(shí)體的命名。2聯(lián)系定義:實(shí)體不是孤立的,實(shí)體之間是有聯(lián)系的。聯(lián)系:表示一個(gè)或者多個(gè)實(shí)體之間的關(guān)聯(lián)關(guān)系。聯(lián)系集:是指同一類聯(lián)系構(gòu)成的集合。-聯(lián)系類型:是對(duì)聯(lián)系集中聯(lián)系的定義。聯(lián)系是實(shí)體之間的一種行為。聯(lián)系用菱形框表示,并用線段將其與相關(guān)的實(shí)體連

2、接起來。3屬性定義:屬性:實(shí)體的某一特性成為屬性,能夠唯一表示實(shí)體的屬性或?qū)傩约Q為“實(shí)體標(biāo)識(shí)符”。一個(gè)實(shí)體只有一個(gè)標(biāo)識(shí)符,沒有候選標(biāo)識(shí)符的概念。實(shí)體標(biāo)識(shí)符有事也成為實(shí)體的主鍵。屬性用橢圓形框表示,加下劃線的屬性為標(biāo)識(shí)符。屬性域是屬性的可能取值范圍,也成為屬性的值域。2.2.2屬性的分類1簡(jiǎn)單屬性和符合屬性:(1) 簡(jiǎn)單屬性個(gè)是不可再分割的屬性,符合屬性是可在費(fèi)解為其他屬性的屬性。2單值屬性和多值屬性:(1) 單值屬性指的是同一實(shí)體的屬性只能取一個(gè)值,多值屬性指同意實(shí)體的某些屬性可能取多個(gè)值缺點(diǎn):如果太過簡(jiǎn)單的表示多值屬性,會(huì)產(chǎn)生大量的數(shù)據(jù)冗余,造成數(shù)據(jù)庫潛在的數(shù)據(jù)異常、數(shù)據(jù)不一致性和完整性的

3、缺陷。調(diào)整方式:修改原來的ER模型,對(duì)多值屬性進(jìn)行變換。有以下兩種方法:1) 將原來的多值屬性用幾個(gè)新的單值屬性來表示。2) 將原來的多值屬性用一個(gè)新的實(shí)體類型表示:這個(gè)新實(shí)體以來于原實(shí)體而存在,我們稱之為弱實(shí)體。3存儲(chǔ)屬性和派生屬性:(1) 派生屬性:兩個(gè)或兩個(gè)以上的屬性值是相關(guān)的,可以從其他熟悉吸納個(gè)只推導(dǎo)出值的屬性,稱為派生屬性。(2) 儲(chǔ)存屬性:派生屬性的值不必存儲(chǔ)在數(shù)據(jù)庫內(nèi),而其他需要存儲(chǔ)值的屬性稱為儲(chǔ)存屬性。4允許為空值的屬性:當(dāng)實(shí)體的某個(gè)屬性上沒有值時(shí)應(yīng)使用空值(Nullvalue),Null還可以用于值未知的時(shí)候,未知的值可能是缺失的,或者不知道的。在數(shù)據(jù)庫中,空值是很難處理的

4、一種值。2.2.3聯(lián)系的設(shè)計(jì)1.聯(lián)系的元數(shù):定義:一個(gè)聯(lián)系涉及到的實(shí)體集個(gè)數(shù),成為該聯(lián)系的元數(shù)或度數(shù)。-同一實(shí)體集內(nèi)部的實(shí)體之間的聯(lián)系,稱為一元聯(lián)系,也稱為遞歸聯(lián)系。-兩個(gè)不同的實(shí)體集、實(shí)體之間的聯(lián)系,稱為二元聯(lián)系。-三個(gè)不同實(shí)體集實(shí)體之間的聯(lián)系,稱為三元聯(lián)系。以此類推2聯(lián)系類型約束:(1) 基數(shù)約束:定義:實(shí)體集E1和E2之間有二元聯(lián)系,則參與一個(gè)聯(lián)系中的實(shí)體數(shù)目稱為映射基數(shù)。二元聯(lián)系有1:11:NN:M在具體實(shí)現(xiàn)時(shí),有事我們對(duì)映射基數(shù)還要做出更精確的描述,即對(duì)參與聯(lián)系的實(shí)體數(shù)目指明相關(guān)的最小映射基數(shù)MIN和最大映射基數(shù)MAX,用“min.max”的方式表小。(2) 參與約束:定義:如果實(shí)體

5、集E中的每個(gè)實(shí)體都參與聯(lián)系集R的至少一個(gè)聯(lián)系中,我們稱實(shí)體集E“完全參與”聯(lián)系集R。如果實(shí)體集E中只有部分實(shí)體參與聯(lián)系集R的聯(lián)系中,我們稱實(shí)體集E“部分參與”聯(lián)系集R。在ER圖中表示時(shí),完全參與用雙線邊表示,部分參與用單線邊表示。2.2.4ER模型的操作定義:對(duì)ER圖進(jìn)行的種種變化稱為ER模型的操作,包括實(shí)體類型、聯(lián)系類型和屬性的分裂、合并、增刪等等。1分裂方式分為水平分裂和垂直分裂兩種教師號(hào)姓名出生日期職務(wù)工資獎(jiǎng)金教師(1)水平分裂為教師號(hào)姓名出生日期職務(wù)工資獎(jiǎng)金男教師教師號(hào)姓名出生日期職務(wù)工資獎(jiǎng)金女教師(2)可以把實(shí)體相關(guān)的屬性中常變的屬性組成一個(gè)實(shí)體類型,把固定不變的屬性組成另個(gè)實(shí)體類型

6、,這就是垂直分裂。教師號(hào)姓名出生日期職務(wù)工資獎(jiǎng)金教師垂直分裂為教師號(hào)姓名出生日期教師號(hào)職務(wù)工資獎(jiǎng)金教師|教師2聯(lián)系也可以分裂,合并是分裂操作的逆過程,合并的聯(lián)系類型必須是定義在相同的實(shí)體類型組合中。2.2.5采用ER模型的數(shù)據(jù)庫概念設(shè)計(jì)步驟定義:采用ER模型進(jìn)行數(shù)據(jù)庫的概念設(shè)計(jì),可以分成三步進(jìn)行:首先設(shè)計(jì)局部ER模型,然后把各局部ER模型縱橫成一個(gè)全局ER模型,最后對(duì)全局ER模型進(jìn)行優(yōu)化,得到最終的ER模型,即概念模型。1設(shè)計(jì)局部ER模型核心思想:“分而治之”,即分別考慮各個(gè)用戶的信息需求,形成局部概念結(jié)構(gòu),然后再綜合成全局結(jié)構(gòu)。局部概念結(jié)構(gòu)又叫局部ER模型,圖形稱為局部ER圖。每一個(gè)應(yīng)用設(shè)計(jì)

7、局部ER模型的步驟:確定局部結(jié)構(gòu)范圍設(shè)計(jì)各個(gè)局部ER模型的第一步,確定局部結(jié)構(gòu)的范圍劃分,劃分的方式兩種:-依據(jù)系統(tǒng)的當(dāng)前用戶進(jìn)行自然劃分-按用戶要求數(shù)據(jù)庫提供的服務(wù)歸納成幾類,使每一類應(yīng)用訪問的數(shù)據(jù)顯著的不同于其他類,為每類應(yīng)用設(shè)計(jì)一個(gè)局部ER模型。定義實(shí)體從信息需求和局部范圍定義出發(fā),確定每一個(gè)實(shí)體類型的屬性和鍵。實(shí)體、屬性和聯(lián)系之間并無截然區(qū)分的界限,劃分依據(jù)有三種:-采用人們習(xí)慣的劃分避免冗余,在一個(gè)局部結(jié)構(gòu)中,對(duì)一個(gè)對(duì)象之取一種抽象形式,不要重復(fù)-依據(jù)用戶的信息處理需求實(shí)體類型確定之后,他的屬性也隨之確定。命名反映實(shí)體的語義性質(zhì),在一個(gè)局部結(jié)構(gòu)中應(yīng)唯一。定義聯(lián)系ER模型的“聯(lián)系”刻畫

8、實(shí)體之間的關(guān)聯(lián)。分析其中是1:11:MM:N等。還要考慮實(shí)體內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類型之間是否存在聯(lián)系等等。應(yīng)注意方式出現(xiàn)冗余的聯(lián)系(可以從其他聯(lián)系導(dǎo)出的聯(lián)系),要盡可能的識(shí)別并消除這些冗余聯(lián)系,一面將這些問題遺留給綜合全局的ER模式階段,聯(lián)系類型的命名沒有標(biāo)識(shí)符。1) 分配屬性確定屬性把屬性分配到有關(guān)實(shí)體和聯(lián)系中去。確定屬性的原則是:屬性應(yīng)該是不可再分解的語義單位;實(shí)體與屬性之間的關(guān)系只能是1:N(一對(duì)多)的;不同實(shí)體類型的屬性之間應(yīng)無直接關(guān)聯(lián)聯(lián)系。-屬性不可分解的要求是為了是模型結(jié)構(gòu)簡(jiǎn)單化,不出現(xiàn)嵌套結(jié)構(gòu)。-當(dāng)多個(gè)實(shí)體類型用到同一屬性時(shí),將導(dǎo)致數(shù)據(jù)冗余,從

9、而可能影響儲(chǔ)存效率和完性性約束,因而需要確定把他分配給哪個(gè)實(shí)體類型。一般把屬性分配給那些使用頻率最高的實(shí)體類型,或分配給實(shí)體值少的實(shí)體類型。-有些屬性不宜歸屬于任何一個(gè)實(shí)體類型,只能說明實(shí)體之間聯(lián)系的特性,應(yīng)作為聯(lián)系類型的屬性。2設(shè)計(jì)全局ER模型全局概念結(jié)構(gòu)不僅要支持所有局部模型,而且必須合理的表示一個(gè)完整、一致的數(shù)據(jù)庫概念結(jié)構(gòu)(或稱為視圖集成,視圖特指局部概念結(jié)構(gòu))。(1) 確定公共實(shí)體類型在這一步中,我們僅根據(jù)實(shí)體類型名和鍵來認(rèn)定公共實(shí)體類型。一般把同名實(shí)體類型作為公共實(shí)體類型的一類候選,把具有相同鍵的實(shí)體類型作為公共實(shí)體類型的另一類候選。合并局部ER模型合并的順序影響處理效率和結(jié)果。建議

10、合并原則:-先進(jìn)行兩兩合并,先合并那些現(xiàn)實(shí)世界中有聯(lián)系的局部結(jié)構(gòu)合并從公共實(shí)體類型開始,最后加入獨(dú)立的局部結(jié)構(gòu)。進(jìn)行二元合并是為了減少合并工作的復(fù)雜性,后兩項(xiàng)原則是為了使合并結(jié)果的規(guī)模盡可能小。(3)消除沖突沖突的定義:由于各類應(yīng)用不同,不同的應(yīng)用通常又由不同的設(shè)計(jì)人員設(shè)計(jì)成局部ER模型,因此局部ER模型之間不可避免的會(huì)有不一致的地方,我們稱之為沖突。沖突的三種類型:屬性沖突:屬性域的沖突,即屬性值的類型、取值范圍或取值集合不同。結(jié)構(gòu)沖突:同一對(duì)象在不同應(yīng)用中的不同抽象。同一實(shí)體在不同應(yīng)用中可為實(shí)體或?qū)傩?;同一?shí)體在不同局部ER圖中屬性組成不同,包括屬性個(gè)數(shù)、次序;實(shí)體之間的聯(lián)系在不同的局部E

11、R圖中呈現(xiàn)不同的類型。命名沖突:包括屬性名、實(shí)體名、聯(lián)系名之間的沖突。同名異義即不同對(duì)象具有相同的名字;異名同義,即同意意義的對(duì)象具有不同的名字。3全局ER模式的優(yōu)化一個(gè)好的全局ER模型應(yīng)該具有能準(zhǔn)確、全面的反映用戶功能需求、實(shí)體聯(lián)系的個(gè)數(shù)盡可能少、實(shí)體類型所含屬性個(gè)數(shù)盡可能少、實(shí)體類型間聯(lián)系無冗余。優(yōu)化原則如下:1)合并實(shí)體類型:這里的實(shí)體類型合并不是設(shè)計(jì)全局ER模型工作時(shí)段的“公共實(shí)體類型的合并”,而是相關(guān)實(shí)體類型的合并。在公共模型中實(shí)體類型最終轉(zhuǎn)換成關(guān)系模式,涉及多個(gè)實(shí)體類型的信息要通過連接操作獲得。-因而減少實(shí)體類型個(gè)數(shù),可以減少連接的開銷,提高處理效率一般可以把1:1聯(lián)系的兩個(gè)實(shí)體類

12、型合并如果需要同時(shí)處理一些實(shí)體類型,那么有必要它們合并成一個(gè)實(shí)體類型。但是可能產(chǎn)生大量空值,因此要對(duì)儲(chǔ)存代價(jià)、查詢效率進(jìn)行權(quán)衡。2)消除冗余屬性:各個(gè)局部結(jié)構(gòu)中是不允許冗余屬性存在的。在綜合成全局ER模型之后,可能產(chǎn)生全局范圍內(nèi)的冗余屬性。-一般同一非鍵的屬性出現(xiàn)在幾個(gè)實(shí)體類型中,或者一個(gè)屬性值可以從其他屬性的值導(dǎo)出,應(yīng)該把冗余的屬性從全局模型中去掉-冗余屬性的消除與否,也取決于他對(duì)儲(chǔ)存空間、訪問效率和維護(hù)代價(jià)的影響。有時(shí)為了兼顧訪問效率,有意保留冗余屬性。這當(dāng)然會(huì)造成儲(chǔ)存空間的浪費(fèi)和維護(hù)代價(jià)的提高。3)消除冗余聯(lián)系:在全局模式中可能存在有冗余的聯(lián)系,通常利用第三章規(guī)范化理論中函數(shù)依賴的概念消

13、除冗余聯(lián)系。(Page51有圖舉例)2.3關(guān)系模型的基本概念2.3.1關(guān)系模型的基本術(shù)語1用二維表格表示實(shí)體集,用關(guān)鍵碼表示實(shí)體之間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。文件I關(guān)系(實(shí)例)R字段、數(shù)據(jù)項(xiàng)I屬性前面為一般術(shù)語、后面是關(guān)系模式術(shù)語扃性A、學(xué)號(hào)屬性B、姓名屬性G乖齡屬性D、性別a1、S001a2、S002a3、S003a4、S004b1、張三b2、李四b3、王五b4、趙六c1、20c2、18c3、17c4、19d1、力d2、女d3、男d4、女記錄類型I關(guān)系模式記錄1、元組1記錄2、元組2【己錄3、兀組3汜錄4、元組4數(shù)據(jù)值為字段值I數(shù)據(jù)值為屬性值定義字段:稱為屬性、字段值:稱為屬性值、記錄類型

14、:稱為關(guān)系模式。上圖中關(guān)系模式稱為R。記錄:稱為元組、元租的集合:稱為關(guān)系或?qū)嵗?;元組為行、屬性為列。關(guān)系中,屬性:稱為元數(shù),元組的個(gè)數(shù):稱為基數(shù)。1關(guān)鍵碼由一個(gè)或多個(gè)屬性組成。具體如下:(1) 超鍵:在關(guān)系中能唯一表示元組的屬性集稱為關(guān)系模式的超鍵。(2) 候選鍵:不含多余屬性的超鍵稱為候選鍵。(3) 主鍵:用戶選作元組表示的候選鍵為主鍵。(4) 外鍵:如果模式R中屬性K是其他模式的主鍵,那么K在模式R中稱為外鍵關(guān)系中每一個(gè)屬性都有一個(gè)取值范圍,稱為屬性的值域。屬性A的取值范圍用DOM(A)表示,每一個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同的屬性可對(duì)應(yīng)與同一值域。2.3.2關(guān)系的定義和性質(zhì)同理與數(shù)學(xué)中的集合

15、論定義:關(guān)系是一個(gè)屬性數(shù)目相同的元組的集合。如果一個(gè)關(guān)系的元組數(shù)目是無限的,則稱為無限關(guān)系,否則稱為有限關(guān)系。(由于計(jì)算機(jī)的儲(chǔ)存系統(tǒng)的限制,只限于研究有限關(guān)系)。關(guān)系是一種規(guī)范化了的二維表格,有以下規(guī)范性限制:(1) 關(guān)系中每一個(gè)屬性值都是不可分解的(2) 關(guān)系中不暈系出現(xiàn)重復(fù)元組(即不允許出現(xiàn)相同的元組)(3) 由于關(guān)系是一個(gè)集合,因此不考慮元組間的順序,即沒有行序元組中的屬性在理論上也是無序的,但使用時(shí)習(xí)慣考慮列的順序2.3.3三類完整性規(guī)則為了維護(hù)數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實(shí)的一致性,關(guān)系數(shù)據(jù)庫的數(shù)據(jù)與更新操作必須遵循以下三類完整性規(guī)則:(1) 實(shí)體完整性規(guī)則:關(guān)系中元組在組成主鍵的屬性上不能有空

16、值。參照完整性規(guī)則:如果屬性集K是關(guān)系模式R1的主鍵,K也是關(guān)系模式R2的外鍵,那么在R2的關(guān)系中,K的取值只允許有兩種可能,空值或者等于R1關(guān)系中的某個(gè)主鍵值。這條規(guī)則的實(shí)質(zhì)是:不允許引用不存在的實(shí)體。1) 外鍵和相應(yīng)的主鍵可以不同名,只要定義在相同值域上即可R1和R2也可以是同一個(gè)關(guān)系模式,此時(shí)表示了同一個(gè)關(guān)系中不同元組之間的聯(lián)系2) 外鍵是否允許空值,應(yīng)視情況而定上述定義中R1稱為"參照關(guān)系",R2為"依賴關(guān)系";在PowerBuilder中稱為"主表"、"副表",在VisualFoxPro中稱為"

17、父表"、"子表"。(2) 用戶定義的完整性規(guī)則:用戶可以針對(duì)具體的數(shù)據(jù)約束,設(shè)置完整性規(guī)則,由系來檢驗(yàn)實(shí)施,以使用統(tǒng)一的方法處理他們,不再由應(yīng)用程序來承擔(dān)這項(xiàng)工作。2.4ER模型到關(guān)系模型的轉(zhuǎn)換核心內(nèi)容!2.4.1ER圖轉(zhuǎn)換成關(guān)系模式集的算法轉(zhuǎn)換算法就是:把實(shí)體類型、聯(lián)系模式轉(zhuǎn)換成關(guān)系模式(ER圖中主要的成分就是實(shí)體類型和聯(lián)系類型)。算法2.1把ER圖中實(shí)體類型和聯(lián)系類型轉(zhuǎn)換成關(guān)系模式的算法有以下三個(gè)步驟:步驟1:(實(shí)體類型的轉(zhuǎn)換)將每個(gè)實(shí)體類型轉(zhuǎn)換成一個(gè)關(guān)系模式,實(shí)體的屬性即為關(guān)系模式的屬性,實(shí)體標(biāo)識(shí)符即為關(guān)系模式的鍵。步驟2:(關(guān)系類型的轉(zhuǎn)換):根據(jù)不同的情況

18、做不同的處理。二元聯(lián)系的轉(zhuǎn)換如下:(1) 若實(shí)體之間的聯(lián)系是1:1,可以在兩個(gè)實(shí)體類型轉(zhuǎn)換成的兩個(gè)關(guān)系模式中任意一個(gè)關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的鍵(作為外鍵)和聯(lián)系類型的屬性。若實(shí)體之間的聯(lián)系是1:N,則在N端實(shí)體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實(shí)體類型的鍵(作為外鍵)和聯(lián)系類型的屬性。(2) 若實(shí)體之間聯(lián)系是M:N,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實(shí)體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵為兩端實(shí)體鍵的組合。一元聯(lián)系的轉(zhuǎn)換與步驟2(1)類似。三元聯(lián)系的轉(zhuǎn)換如下:(1) 若實(shí)體之間的聯(lián)系是1:1:1,可以在三個(gè)實(shí)體類型轉(zhuǎn)換成的三個(gè)關(guān)系模式中任意一個(gè)關(guān)系模式的屬性中加入另兩個(gè)關(guān)系模式的鍵(作為外鍵)和聯(lián)系類型的屬性。若實(shí)體之間的聯(lián)系是1:1:N,則在N端實(shí)體類型轉(zhuǎn)換成的關(guān)系模式中加入兩個(gè)1端實(shí)體類型的鍵(作為外鍵)和聯(lián)系類型的屬性。(2) 若實(shí)體之間聯(lián)系是1:M:N,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為M端和N端實(shí)體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵為M端和N端實(shí)體鍵的組合。(3) 若實(shí)體之間聯(lián)系是M:N:P,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為三端實(shí)體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵三端實(shí)體鍵的組合。2.4.2采用ER模型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論