


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)原理2.2ER模型的基本概念ER模型由PeterChen于1976年在命題為“實體聯(lián)系模型:將來的數(shù)據(jù)視圖”論文中提出。2.2.1ER模型的基本元素1實體定義:實體:是一個數(shù)據(jù)對象,指應用中可以區(qū)別的客觀存在的實物。實體集:是指同一類實體構成的集合。-實體類型:是對實體集中實體的定義。ER模型中提到的實體往往是指實體集。實體用方框表示,方框內(nèi)注明實體的命名。2聯(lián)系定義:實體不是孤立的,實體之間是有聯(lián)系的。聯(lián)系:表示一個或者多個實體之間的關聯(lián)關系。聯(lián)系集:是指同一類聯(lián)系構成的集合。-聯(lián)系類型:是對聯(lián)系集中聯(lián)系的定義。聯(lián)系是實體之間的一種行為。聯(lián)系用菱形框表示,并用線段將其與相關的實體連
2、接起來。3屬性定義:屬性:實體的某一特性成為屬性,能夠唯一表示實體的屬性或?qū)傩约Q為“實體標識符”。一個實體只有一個標識符,沒有候選標識符的概念。實體標識符有事也成為實體的主鍵。屬性用橢圓形框表示,加下劃線的屬性為標識符。屬性域是屬性的可能取值范圍,也成為屬性的值域。2.2.2屬性的分類1簡單屬性和符合屬性:(1) 簡單屬性個是不可再分割的屬性,符合屬性是可在費解為其他屬性的屬性。2單值屬性和多值屬性:(1) 單值屬性指的是同一實體的屬性只能取一個值,多值屬性指同意實體的某些屬性可能取多個值缺點:如果太過簡單的表示多值屬性,會產(chǎn)生大量的數(shù)據(jù)冗余,造成數(shù)據(jù)庫潛在的數(shù)據(jù)異常、數(shù)據(jù)不一致性和完整性的
3、缺陷。調(diào)整方式:修改原來的ER模型,對多值屬性進行變換。有以下兩種方法:1) 將原來的多值屬性用幾個新的單值屬性來表示。2) 將原來的多值屬性用一個新的實體類型表示:這個新實體以來于原實體而存在,我們稱之為弱實體。3存儲屬性和派生屬性:(1) 派生屬性:兩個或兩個以上的屬性值是相關的,可以從其他熟悉吸納個只推導出值的屬性,稱為派生屬性。(2) 儲存屬性:派生屬性的值不必存儲在數(shù)據(jù)庫內(nèi),而其他需要存儲值的屬性稱為儲存屬性。4允許為空值的屬性:當實體的某個屬性上沒有值時應使用空值(Nullvalue),Null還可以用于值未知的時候,未知的值可能是缺失的,或者不知道的。在數(shù)據(jù)庫中,空值是很難處理的
4、一種值。2.2.3聯(lián)系的設計1.聯(lián)系的元數(shù):定義:一個聯(lián)系涉及到的實體集個數(shù),成為該聯(lián)系的元數(shù)或度數(shù)。-同一實體集內(nèi)部的實體之間的聯(lián)系,稱為一元聯(lián)系,也稱為遞歸聯(lián)系。-兩個不同的實體集、實體之間的聯(lián)系,稱為二元聯(lián)系。-三個不同實體集實體之間的聯(lián)系,稱為三元聯(lián)系。以此類推2聯(lián)系類型約束:(1) 基數(shù)約束:定義:實體集E1和E2之間有二元聯(lián)系,則參與一個聯(lián)系中的實體數(shù)目稱為映射基數(shù)。二元聯(lián)系有1:11:NN:M在具體實現(xiàn)時,有事我們對映射基數(shù)還要做出更精確的描述,即對參與聯(lián)系的實體數(shù)目指明相關的最小映射基數(shù)MIN和最大映射基數(shù)MAX,用“min.max”的方式表小。(2) 參與約束:定義:如果實體
5、集E中的每個實體都參與聯(lián)系集R的至少一個聯(lián)系中,我們稱實體集E“完全參與”聯(lián)系集R。如果實體集E中只有部分實體參與聯(lián)系集R的聯(lián)系中,我們稱實體集E“部分參與”聯(lián)系集R。在ER圖中表示時,完全參與用雙線邊表示,部分參與用單線邊表示。2.2.4ER模型的操作定義:對ER圖進行的種種變化稱為ER模型的操作,包括實體類型、聯(lián)系類型和屬性的分裂、合并、增刪等等。1分裂方式分為水平分裂和垂直分裂兩種教師號姓名出生日期職務工資獎金教師(1)水平分裂為教師號姓名出生日期職務工資獎金男教師教師號姓名出生日期職務工資獎金女教師(2)可以把實體相關的屬性中常變的屬性組成一個實體類型,把固定不變的屬性組成另個實體類型
6、,這就是垂直分裂。教師號姓名出生日期職務工資獎金教師垂直分裂為教師號姓名出生日期教師號職務工資獎金教師|教師2聯(lián)系也可以分裂,合并是分裂操作的逆過程,合并的聯(lián)系類型必須是定義在相同的實體類型組合中。2.2.5采用ER模型的數(shù)據(jù)庫概念設計步驟定義:采用ER模型進行數(shù)據(jù)庫的概念設計,可以分成三步進行:首先設計局部ER模型,然后把各局部ER模型縱橫成一個全局ER模型,最后對全局ER模型進行優(yōu)化,得到最終的ER模型,即概念模型。1設計局部ER模型核心思想:“分而治之”,即分別考慮各個用戶的信息需求,形成局部概念結(jié)構,然后再綜合成全局結(jié)構。局部概念結(jié)構又叫局部ER模型,圖形稱為局部ER圖。每一個應用設計
7、局部ER模型的步驟:確定局部結(jié)構范圍設計各個局部ER模型的第一步,確定局部結(jié)構的范圍劃分,劃分的方式兩種:-依據(jù)系統(tǒng)的當前用戶進行自然劃分-按用戶要求數(shù)據(jù)庫提供的服務歸納成幾類,使每一類應用訪問的數(shù)據(jù)顯著的不同于其他類,為每類應用設計一個局部ER模型。定義實體從信息需求和局部范圍定義出發(fā),確定每一個實體類型的屬性和鍵。實體、屬性和聯(lián)系之間并無截然區(qū)分的界限,劃分依據(jù)有三種:-采用人們習慣的劃分避免冗余,在一個局部結(jié)構中,對一個對象之取一種抽象形式,不要重復-依據(jù)用戶的信息處理需求實體類型確定之后,他的屬性也隨之確定。命名反映實體的語義性質(zhì),在一個局部結(jié)構中應唯一。定義聯(lián)系ER模型的“聯(lián)系”刻畫
8、實體之間的關聯(lián)。分析其中是1:11:MM:N等。還要考慮實體內(nèi)部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型之間是否存在聯(lián)系等等。應注意方式出現(xiàn)冗余的聯(lián)系(可以從其他聯(lián)系導出的聯(lián)系),要盡可能的識別并消除這些冗余聯(lián)系,一面將這些問題遺留給綜合全局的ER模式階段,聯(lián)系類型的命名沒有標識符。1) 分配屬性確定屬性把屬性分配到有關實體和聯(lián)系中去。確定屬性的原則是:屬性應該是不可再分解的語義單位;實體與屬性之間的關系只能是1:N(一對多)的;不同實體類型的屬性之間應無直接關聯(lián)聯(lián)系。-屬性不可分解的要求是為了是模型結(jié)構簡單化,不出現(xiàn)嵌套結(jié)構。-當多個實體類型用到同一屬性時,將導致數(shù)據(jù)冗余,從
9、而可能影響儲存效率和完性性約束,因而需要確定把他分配給哪個實體類型。一般把屬性分配給那些使用頻率最高的實體類型,或分配給實體值少的實體類型。-有些屬性不宜歸屬于任何一個實體類型,只能說明實體之間聯(lián)系的特性,應作為聯(lián)系類型的屬性。2設計全局ER模型全局概念結(jié)構不僅要支持所有局部模型,而且必須合理的表示一個完整、一致的數(shù)據(jù)庫概念結(jié)構(或稱為視圖集成,視圖特指局部概念結(jié)構)。(1) 確定公共實體類型在這一步中,我們僅根據(jù)實體類型名和鍵來認定公共實體類型。一般把同名實體類型作為公共實體類型的一類候選,把具有相同鍵的實體類型作為公共實體類型的另一類候選。合并局部ER模型合并的順序影響處理效率和結(jié)果。建議
10、合并原則:-先進行兩兩合并,先合并那些現(xiàn)實世界中有聯(lián)系的局部結(jié)構合并從公共實體類型開始,最后加入獨立的局部結(jié)構。進行二元合并是為了減少合并工作的復雜性,后兩項原則是為了使合并結(jié)果的規(guī)模盡可能小。(3)消除沖突沖突的定義:由于各類應用不同,不同的應用通常又由不同的設計人員設計成局部ER模型,因此局部ER模型之間不可避免的會有不一致的地方,我們稱之為沖突。沖突的三種類型:屬性沖突:屬性域的沖突,即屬性值的類型、取值范圍或取值集合不同。結(jié)構沖突:同一對象在不同應用中的不同抽象。同一實體在不同應用中可為實體或?qū)傩?;同一實體在不同局部ER圖中屬性組成不同,包括屬性個數(shù)、次序;實體之間的聯(lián)系在不同的局部E
11、R圖中呈現(xiàn)不同的類型。命名沖突:包括屬性名、實體名、聯(lián)系名之間的沖突。同名異義即不同對象具有相同的名字;異名同義,即同意意義的對象具有不同的名字。3全局ER模式的優(yōu)化一個好的全局ER模型應該具有能準確、全面的反映用戶功能需求、實體聯(lián)系的個數(shù)盡可能少、實體類型所含屬性個數(shù)盡可能少、實體類型間聯(lián)系無冗余。優(yōu)化原則如下:1)合并實體類型:這里的實體類型合并不是設計全局ER模型工作時段的“公共實體類型的合并”,而是相關實體類型的合并。在公共模型中實體類型最終轉(zhuǎn)換成關系模式,涉及多個實體類型的信息要通過連接操作獲得。-因而減少實體類型個數(shù),可以減少連接的開銷,提高處理效率一般可以把1:1聯(lián)系的兩個實體類
12、型合并如果需要同時處理一些實體類型,那么有必要它們合并成一個實體類型。但是可能產(chǎn)生大量空值,因此要對儲存代價、查詢效率進行權衡。2)消除冗余屬性:各個局部結(jié)構中是不允許冗余屬性存在的。在綜合成全局ER模型之后,可能產(chǎn)生全局范圍內(nèi)的冗余屬性。-一般同一非鍵的屬性出現(xiàn)在幾個實體類型中,或者一個屬性值可以從其他屬性的值導出,應該把冗余的屬性從全局模型中去掉-冗余屬性的消除與否,也取決于他對儲存空間、訪問效率和維護代價的影響。有時為了兼顧訪問效率,有意保留冗余屬性。這當然會造成儲存空間的浪費和維護代價的提高。3)消除冗余聯(lián)系:在全局模式中可能存在有冗余的聯(lián)系,通常利用第三章規(guī)范化理論中函數(shù)依賴的概念消
13、除冗余聯(lián)系。(Page51有圖舉例)2.3關系模型的基本概念2.3.1關系模型的基本術語1用二維表格表示實體集,用關鍵碼表示實體之間聯(lián)系的數(shù)據(jù)模型稱為關系模型。文件I關系(實例)R字段、數(shù)據(jù)項I屬性前面為一般術語、后面是關系模式術語扃性A、學號屬性B、姓名屬性G乖齡屬性D、性別a1、S001a2、S002a3、S003a4、S004b1、張三b2、李四b3、王五b4、趙六c1、20c2、18c3、17c4、19d1、力d2、女d3、男d4、女記錄類型I關系模式記錄1、元組1記錄2、元組2【己錄3、兀組3汜錄4、元組4數(shù)據(jù)值為字段值I數(shù)據(jù)值為屬性值定義字段:稱為屬性、字段值:稱為屬性值、記錄類型
14、:稱為關系模式。上圖中關系模式稱為R。記錄:稱為元組、元租的集合:稱為關系或?qū)嵗?;元組為行、屬性為列。關系中,屬性:稱為元數(shù),元組的個數(shù):稱為基數(shù)。1關鍵碼由一個或多個屬性組成。具體如下:(1) 超鍵:在關系中能唯一表示元組的屬性集稱為關系模式的超鍵。(2) 候選鍵:不含多余屬性的超鍵稱為候選鍵。(3) 主鍵:用戶選作元組表示的候選鍵為主鍵。(4) 外鍵:如果模式R中屬性K是其他模式的主鍵,那么K在模式R中稱為外鍵關系中每一個屬性都有一個取值范圍,稱為屬性的值域。屬性A的取值范圍用DOM(A)表示,每一個屬性對應一個值域,不同的屬性可對應與同一值域。2.3.2關系的定義和性質(zhì)同理與數(shù)學中的集合
15、論定義:關系是一個屬性數(shù)目相同的元組的集合。如果一個關系的元組數(shù)目是無限的,則稱為無限關系,否則稱為有限關系。(由于計算機的儲存系統(tǒng)的限制,只限于研究有限關系)。關系是一種規(guī)范化了的二維表格,有以下規(guī)范性限制:(1) 關系中每一個屬性值都是不可分解的(2) 關系中不暈系出現(xiàn)重復元組(即不允許出現(xiàn)相同的元組)(3) 由于關系是一個集合,因此不考慮元組間的順序,即沒有行序元組中的屬性在理論上也是無序的,但使用時習慣考慮列的順序2.3.3三類完整性規(guī)則為了維護數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實的一致性,關系數(shù)據(jù)庫的數(shù)據(jù)與更新操作必須遵循以下三類完整性規(guī)則:(1) 實體完整性規(guī)則:關系中元組在組成主鍵的屬性上不能有空
16、值。參照完整性規(guī)則:如果屬性集K是關系模式R1的主鍵,K也是關系模式R2的外鍵,那么在R2的關系中,K的取值只允許有兩種可能,空值或者等于R1關系中的某個主鍵值。這條規(guī)則的實質(zhì)是:不允許引用不存在的實體。1) 外鍵和相應的主鍵可以不同名,只要定義在相同值域上即可R1和R2也可以是同一個關系模式,此時表示了同一個關系中不同元組之間的聯(lián)系2) 外鍵是否允許空值,應視情況而定上述定義中R1稱為"參照關系",R2為"依賴關系";在PowerBuilder中稱為"主表"、"副表",在VisualFoxPro中稱為"
17、父表"、"子表"。(2) 用戶定義的完整性規(guī)則:用戶可以針對具體的數(shù)據(jù)約束,設置完整性規(guī)則,由系來檢驗實施,以使用統(tǒng)一的方法處理他們,不再由應用程序來承擔這項工作。2.4ER模型到關系模型的轉(zhuǎn)換核心內(nèi)容!2.4.1ER圖轉(zhuǎn)換成關系模式集的算法轉(zhuǎn)換算法就是:把實體類型、聯(lián)系模式轉(zhuǎn)換成關系模式(ER圖中主要的成分就是實體類型和聯(lián)系類型)。算法2.1把ER圖中實體類型和聯(lián)系類型轉(zhuǎn)換成關系模式的算法有以下三個步驟:步驟1:(實體類型的轉(zhuǎn)換)將每個實體類型轉(zhuǎn)換成一個關系模式,實體的屬性即為關系模式的屬性,實體標識符即為關系模式的鍵。步驟2:(關系類型的轉(zhuǎn)換):根據(jù)不同的情況
18、做不同的處理。二元聯(lián)系的轉(zhuǎn)換如下:(1) 若實體之間的聯(lián)系是1:1,可以在兩個實體類型轉(zhuǎn)換成的兩個關系模式中任意一個關系模式的屬性中加入另一個關系模式的鍵(作為外鍵)和聯(lián)系類型的屬性。若實體之間的聯(lián)系是1:N,則在N端實體類型轉(zhuǎn)換成的關系模式中加入1端實體類型的鍵(作為外鍵)和聯(lián)系類型的屬性。(2) 若實體之間聯(lián)系是M:N,則將聯(lián)系類型也轉(zhuǎn)換成關系模式,其屬性為兩端實體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。一元聯(lián)系的轉(zhuǎn)換與步驟2(1)類似。三元聯(lián)系的轉(zhuǎn)換如下:(1) 若實體之間的聯(lián)系是1:1:1,可以在三個實體類型轉(zhuǎn)換成的三個關系模式中任意一個關系模式的屬性中加入另兩個關系模式的鍵(作為外鍵)和聯(lián)系類型的屬性。若實體之間的聯(lián)系是1:1:N,則在N端實體類型轉(zhuǎn)換成的關系模式中加入兩個1端實體類型的鍵(作為外鍵)和聯(lián)系類型的屬性。(2) 若實體之間聯(lián)系是1:M:N,則將聯(lián)系類型也轉(zhuǎn)換成關系模式,其屬性為M端和N端實體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵為M端和N端實體鍵的組合。(3) 若實體之間聯(lián)系是M:N:P,則將聯(lián)系類型也轉(zhuǎn)換成關系模式,其屬性為三端實體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵三端實體鍵的組合。2.4.2采用ER模型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 童年期情感虐待對初中生社交焦慮的影響-人際信任的中介作用與干預研究
- 秋天的童話150字(12篇)
- 美麗的家鄉(xiāng)童話作文(4篇)
- 顏元“習行”思想研究
- 一年級日記撈魚的樂趣250字8篇
- 基于改進粒子群模糊PID的顆??緺t溫度控制研究與應用
- 蘋果園與中學300字(13篇)
- 平面設計策劃案執(zhí)行綱要
- 基于YOLOv8的紅棗缺陷檢測方法研究
- 2025至2030中國家居服市場供應渠道與未來營銷策略建議報告
- SJG 44-2018 深圳市公共建筑節(jié)能設計規(guī)范-高清現(xiàn)行
- 職工子女暑期工會愛心托管班的方案通知
- “文化引導型”城市更新思想思考與實踐課件
- 卷心菜中過氧化物酶熱穩(wěn)定性的初步研究
- 渦輪增壓器系統(tǒng)及常見故障案例
- 宋大叔教音樂第三單元進階版講義2
- 26個科室建設指南
- 童聲合唱訓練講座
- (防火閥)檢驗報告
- 機械識圖題庫(共155頁)
- Invoice商業(yè)發(fā)票模板
評論
0/150
提交評論