數(shù)據(jù)庫課程ch ER模型PPT課件_第1頁
數(shù)據(jù)庫課程ch ER模型PPT課件_第2頁
數(shù)據(jù)庫課程ch ER模型PPT課件_第3頁
數(shù)據(jù)庫課程ch ER模型PPT課件_第4頁
數(shù)據(jù)庫課程ch ER模型PPT課件_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Entity Sets實(shí)體集 數(shù)據(jù)庫可由下列內(nèi)容模型化: 實(shí)體的集合 實(shí)體間的關(guān)系 實(shí)體是現(xiàn)實(shí)世界中可區(qū)別于其他對(duì)象的“事件”或“物體”。例如:指定的人、公司、事件、工廠 實(shí)體集是擁有相同特性的同類型實(shí)體的集合。例如所有人、公司、樹、節(jié)假日的集合組成實(shí)體集的各實(shí)體稱為實(shí)體集的外延。第1頁/共66頁Entity Sets customer and loan實(shí)體集:客戶和貸款 customer-id customer- customer- customer- loan- amount name street city number第2頁/共66頁n實(shí)體由實(shí)體由屬性屬性集表示,該集合描述了實(shí)體集中所

2、有成員所擁有的特性。集表示,該集合描述了實(shí)體集中所有成員所擁有的特性。Example: customer = (customer-id, customer-name, customer-street, customer-city) loan = (loan-number, amount) 貸款貸款=(貸款號(hào),貸款金額)(貸款號(hào),貸款金額)n域域每個(gè)屬性的取值范圍。每個(gè)屬性的取值范圍。n屬性類型:屬性類型:H單個(gè)和單個(gè)和組合屬性組合屬性H單值和多值屬性(一組值)單值和多值屬性(一組值)4例:多值屬性:電話號(hào)碼,例:多值屬性:電話號(hào)碼,0個(gè)、個(gè)、1個(gè)或多個(gè)個(gè)或多個(gè)HNull attributes

3、空屬性空屬性HDerived attributes派生屬性派生屬性4由其他屬性計(jì)算而得由其他屬性計(jì)算而得4例如例如“年齡年齡”可以得出可以得出“出生年份出生年份”Attributes屬性第3頁/共66頁Composite Attributes組合屬性復(fù)合屬性可以是有層次的。復(fù)合屬性可以是有層次的。第4頁/共66頁Relationship Sets聯(lián)系集 聯(lián)系是若干實(shí)體間的關(guān)聯(lián)。例如:Hayes depositor A-102 姓名(客戶實(shí)體) 儲(chǔ)戶(聯(lián)系集) (帳目實(shí)體) 聯(lián)系集是兩個(gè)以上實(shí)體間的數(shù)學(xué)關(guān)系(所有實(shí)體來自實(shí)體集)。(e1, e2, en) | e1 E1, e2 E2, , en

4、 En其中(e1, e2, , en) 是聯(lián)系。 例如: (Hayes, A-102) depositor第5頁/共66頁Relationship Set borrower第6頁/共66頁 實(shí)體集間的關(guān)聯(lián)被稱為參與,既實(shí)體集E1 ,E2, ,En參與聯(lián)系集 R. E-R模式中的聯(lián)系實(shí)例代表真實(shí)世界中被抽象化的實(shí)體間的關(guān)聯(lián)。 在聯(lián)系中實(shí)體所起的功用稱為實(shí)體的角色。 聯(lián)系也可能具有描述性屬性。 Binary relationship sets 二元聯(lián)系集 Nonbinary relationship sets,such as ternary relationship sets 非二元聯(lián)系集 三元聯(lián)

5、系集 參與一個(gè)聯(lián)系集的實(shí)體集的數(shù)目被稱為聯(lián)系集的度。Relationship Sets (Cont.)聯(lián)系集(續(xù))第7頁/共66頁Mapping Cardinalities映射基數(shù) 映射基數(shù)或映射比例表達(dá)通過一聯(lián)系集能同時(shí)與另一個(gè)實(shí)體相關(guān)聯(lián)的實(shí)體數(shù)目 多用于描述二元關(guān)系集。 二元關(guān)系集的映射有下列類型: One to one一對(duì)一 One to many一對(duì)多 Many to one多對(duì)一 Many to many 多對(duì)多第8頁/共66頁Mapping Cardinalities映射(基數(shù))(a)一對(duì)一一對(duì)一: A中的一個(gè)實(shí)體至多與中的一個(gè)實(shí)體至多與 B中的一個(gè)實(shí)體相關(guān)聯(lián)中的一個(gè)實(shí)體相關(guān)聯(lián),

6、B中的一個(gè)實(shí)體中的一個(gè)實(shí)體至多與至多與 A 中的一個(gè)實(shí)體相關(guān)聯(lián)中的一個(gè)實(shí)體相關(guān)聯(lián) 。(b)一對(duì)多一對(duì)多: A中的一個(gè)實(shí)體可以與中的一個(gè)實(shí)體可以與 B中的任意多個(gè)實(shí)體相關(guān)聯(lián)中的任意多個(gè)實(shí)體相關(guān)聯(lián), 然而,然而,B中中的一個(gè)實(shí)體至多與的一個(gè)實(shí)體至多與 A 中的一個(gè)實(shí)體相關(guān)聯(lián)中的一個(gè)實(shí)體相關(guān)聯(lián) 。注意:注意: A和和B中的元素也可以沒有對(duì)應(yīng)元素(找不到映射關(guān)系)中的元素也可以沒有對(duì)應(yīng)元素(找不到映射關(guān)系)第9頁/共66頁Mapping Cardinalities映射(基數(shù))Many to one多對(duì)一多對(duì)一Many to many多對(duì)多多對(duì)多注:注:A和和B中的元素可以沒有映射關(guān)系中的元素可以沒有映

7、射關(guān)系第10頁/共66頁Existence Dependencies存在依賴 如果實(shí)體X的存在依賴于實(shí)體Y的存在,則X存在依賴于Y。 Y是支配實(shí)體dominant entity (如下例中的貸) X是從屬實(shí)體subordinate entity (如下例的付款) 如果貸款實(shí)體被刪除,則其相關(guān)的付款實(shí)體也必須刪除。 Total participation 全部參與 loan對(duì)borrow聯(lián)系集 Partial participation 部分參與 customer對(duì)borrowloan-paymentpaymentloan第11頁/共66頁Keys:Entity Sets碼:實(shí)體集 實(shí)體集的“超

8、碼” super key是屬性集,其值可以唯一的標(biāo)識(shí)一個(gè)實(shí)體。 實(shí)體的“候選碼” candidate key是最小的超級(jí)碼 客戶id號(hào)是客戶的候選取碼 帳戶號(hào)是帳戶的候選取碼 雖然可以有多個(gè)候選取存在,但只有一個(gè)候選作為“主碼” primary key第12頁/共66頁Keys:Relationship Sets碼:聯(lián)系集假設(shè)所有主碼的屬性名稱是唯一的并且每個(gè)實(shí)體集僅參與聯(lián)系集一次。聯(lián)系集的主碼成員依賴于和聯(lián)系集R相關(guān)聯(lián)的屬性的結(jié)構(gòu)。H 如果聯(lián)系集R沒有屬性與之相關(guān)聯(lián),那么屬性集合primary-key(E1)U primary-key(E2)UU primary-key(En)表示集合R中一

9、個(gè)獨(dú)立的聯(lián)系。H 如果聯(lián)系集R有屬性a1,a2 ,am 與之相關(guān)聯(lián),那么屬性集合primary-key(E1)U primary-key(E2)UU primary-key(En)Ua1,a2 ,am表示集合R中一個(gè)獨(dú)立的聯(lián)系。對(duì)于以上兩種情況,屬性集合primary-key(E1)U primary-key(E2)UU primary-key(En) 構(gòu)成了聯(lián)系集的超碼。第13頁/共66頁如果在不同的實(shí)體集中出現(xiàn)了主碼屬性名不唯一的情況,屬性應(yīng)該改名以區(qū)分它們;實(shí)體集的名字加上屬性名可以形成唯一的名稱。如果一個(gè)實(shí)體集不止一次地參與某個(gè)聯(lián)系集,則角色名可以代替實(shí)體集的名稱形成唯一的屬性名。聯(lián)系

10、集主碼的結(jié)構(gòu)依賴于聯(lián)系集的映射基數(shù)。 多對(duì)多 一對(duì)多 多對(duì)一 一對(duì)一 對(duì)于非二元聯(lián)系,如果沒有度的限制,前面描述的超碼成為唯一的候選碼,并被選為主碼。第14頁/共66頁Design Issues設(shè)計(jì)問題 是用實(shí)體集還是屬性? 選擇主要與企業(yè)模型結(jié)構(gòu)有關(guān),與相關(guān)的屬性語義有關(guān) 一個(gè)常見的錯(cuò)誤是用實(shí)體集的主碼作為另一個(gè)實(shí)體集的屬性,而不是聯(lián)系。例如,將customer-id作為loan的屬性是不正確的,即使每筆貸款只有一個(gè)客戶也是如此。用borrower聯(lián)系代表貸款和客戶直接的連接關(guān)系才是正確的方法,因?yàn)檫@樣可以明確地表示出兩者之間的關(guān)系而不是將這種關(guān)系隱含在屬性中。 另一個(gè)常犯的錯(cuò)誤是將有關(guān)系的

11、實(shí)體集的主碼屬性作為聯(lián)系集的屬性。這樣做是不對(duì)的,因?yàn)樵诼?lián)系的表示中已經(jīng)包含了這些主碼屬性。第15頁/共66頁 使用聯(lián)系集還是實(shí)體集? 指導(dǎo)方針是用聯(lián)系集來描述實(shí)體集間的相互作用。 舉例: 一法:貸款作為一個(gè)實(shí)體來建模 二法:不將貸款作為一個(gè)實(shí)體,而作為客戶和銀行分支機(jī)構(gòu)之間的一個(gè)聯(lián)系的描述性屬性。每次貸款用這個(gè)聯(lián)系表示。 如果每筆貸款正好為一個(gè)客戶所有,并且正好同一個(gè)分行相聯(lián)系,用聯(lián)系表示貸款可以。但不能方便地表示多個(gè)客戶共有一筆貸款。為此,為共有貸款的每個(gè)人分別定義一個(gè)聯(lián)系,并且具有相同的描述性屬性值。 這種重復(fù)有兩個(gè)問題:數(shù)據(jù)多次存儲(chǔ),浪費(fèi)空間;更新可能導(dǎo)致不一致狀態(tài)。一法就沒有這種問題

12、。branchborrowerloancustomerLoan-branchbranchamountcustomercust-branchLoan-number第16頁/共66頁 二元還是n元聯(lián)系集 一般地,非二元關(guān)系可以通過構(gòu)造出一個(gè)假設(shè)的實(shí)體集來表示成二元關(guān)系。 關(guān)系R是實(shí)體集A,B,C的關(guān)聯(lián)表示,則可以利用新的實(shí)體集E,及三個(gè)關(guān)系RA, RB 和RC 相應(yīng)地表示A,B,C之間的關(guān)系。 如果聯(lián)系集R有屬性,將這些屬性賦給實(shí)體集E。并為E建立一個(gè)標(biāo)識(shí)屬性(因每個(gè)實(shí)體集都應(yīng)該至少有個(gè)一屬性,以區(qū)別實(shí)體集中的各個(gè)成員)。 針對(duì)R中的每個(gè)聯(lián)系(ai,bi,ci),在實(shí)體集E中構(gòu)造出一個(gè)新的實(shí)體ei

13、,并將其與A,B,C相應(yīng)的實(shí)體關(guān)聯(lián),即在RA中插入(ei,ai),在RB中插入(ei,bi),在RC中插入(ei,ci)。第17頁/共66頁n可以將這一過程直接推廣到可以將這一過程直接推廣到n元聯(lián)系集的情況。因此概念上可以限制元聯(lián)系集的情況。因此概念上可以限制E-R圖中只包含二元聯(lián)系集。然而,這種限制并不總讓人滿意。圖中只包含二元聯(lián)系集。然而,這種限制并不總讓人滿意。H對(duì)于表示聯(lián)系集對(duì)于表示聯(lián)系集R而創(chuàng)建的實(shí)體集而創(chuàng)建的實(shí)體集E,為其創(chuàng)建一個(gè)標(biāo)識(shí)屬性。該,為其創(chuàng)建一個(gè)標(biāo)識(shí)屬性。該標(biāo)識(shí)屬性和附加的那些聯(lián)系集增加了設(shè)計(jì)的復(fù)雜程度以及對(duì)總的存標(biāo)識(shí)屬性和附加的那些聯(lián)系集增加了設(shè)計(jì)的復(fù)雜程度以及對(duì)總的存

14、儲(chǔ)空間的需求。儲(chǔ)空間的需求。HN元聯(lián)系集可以更清晰地表示幾個(gè)實(shí)體集參與到一個(gè)聯(lián)系集中。元聯(lián)系集可以更清晰地表示幾個(gè)實(shí)體集參與到一個(gè)聯(lián)系集中。H可能沒有將三元聯(lián)系上的約束轉(zhuǎn)變?yōu)槎?lián)系上的約束的方法??赡軟]有將三元聯(lián)系上的約束轉(zhuǎn)變?yōu)槎?lián)系上的約束的方法。例如,一個(gè)多對(duì)一的約束,從例如,一個(gè)多對(duì)一的約束,從A、B到到C,這種約束就不能用聯(lián)系,這種約束就不能用聯(lián)系集集RA, RB 和和RC 上的度約束來表示。上的度約束來表示。第18頁/共66頁 聯(lián)系屬性的設(shè)置 映射基數(shù)可以影響聯(lián)系屬性的設(shè)置。 多對(duì)一或一對(duì)多聯(lián)系集的屬性可以歸到聯(lián)系的“多方”實(shí)體集,而不是聯(lián)系集。 一對(duì)一聯(lián)系集的屬性可以歸到參與的

15、實(shí)體集的任何一方,而不是聯(lián)系集。第19頁/共66頁H對(duì)于對(duì)于多對(duì)多多對(duì)多聯(lián)系集而言,屬性設(shè)置的選擇更明了。當(dāng)一個(gè)屬性由參與聯(lián)系集而言,屬性設(shè)置的選擇更明了。當(dāng)一個(gè)屬性由參與的實(shí)體集共同決定,聯(lián)系集屬性的實(shí)體集共同決定,聯(lián)系集屬性必須必須歸到歸到多對(duì)多聯(lián)系集多對(duì)多聯(lián)系集。第20頁/共66頁E-R DiagramsE-R圖Rectangles矩形表示實(shí)體集矩形表示實(shí)體集Diamonds菱形表示關(guān)系集菱形表示關(guān)系集Lines直線用于連接實(shí)體集和屬性,以及實(shí)體集與關(guān)系集直線用于連接實(shí)體集和屬性,以及實(shí)體集與關(guān)系集Ellipses橢圓表示屬性橢圓表示屬性HDouble ellipses雙線橢圓表示多值屬

16、性雙線橢圓表示多值屬性HDashed ellipses虛線橢圓表示派生屬性虛線橢圓表示派生屬性Underline 下劃線標(biāo)識(shí)主碼屬性下劃線標(biāo)識(shí)主碼屬性Double lines 雙線雙線表示一個(gè)實(shí)體表示一個(gè)實(shí)體全部參與全部參與聯(lián)系集中聯(lián)系集中Double Rectangles 雙矩形雙矩形表示表示弱實(shí)體集弱實(shí)體集第21頁/共66頁Cardinality Constraints基數(shù)的約束 關(guān)系集和實(shí)體集之間的基數(shù)的約束,通常使用帶箭頭直線表示一,無箭頭直線表示多。 從customer到 loan: 一對(duì)多第22頁/共66頁 多對(duì)一 一對(duì)一第23頁/共66頁Relationship Sets wit

17、h Attributes帶屬性的關(guān)系集第24頁/共66頁E-R Diagram With Composite, Multivalued, and Derived Attributes帶組合、多值和導(dǎo)出屬性的E-R圖multivalued attributescomposite attributesderived attributes第25頁/共66頁Roles角色n關(guān)系的實(shí)體集不一定要互異。關(guān)系的實(shí)體集不一定要互異。n“領(lǐng)導(dǎo)領(lǐng)導(dǎo)”和和“工人工人”兩個(gè)稱呼稱為兩個(gè)稱呼稱為“角色角色”;它們用于表示雇員實(shí)體與關(guān)系;它們用于表示雇員實(shí)體與關(guān)系集集“受雇受雇”之間的關(guān)系。之間的關(guān)系。n角色在角色在E-

18、R圖中通過標(biāo)識(shí)連接菱形和矩形的直線完成。圖中通過標(biāo)識(shí)連接菱形和矩形的直線完成。role第26頁/共66頁E-R Diagram with a Ternary Relationship三個(gè)實(shí)體間關(guān)系的E-R圖表示在非二元聯(lián)系集中,可以標(biāo)明一些多對(duì)一聯(lián)系類型。在非二元聯(lián)系集中,可以標(biāo)明一些多對(duì)一聯(lián)系類型。假設(shè)一個(gè)員工在每個(gè)支假設(shè)一個(gè)員工在每個(gè)支行最多只能有一份工作(比如,行最多只能有一份工作(比如,Jones不能在同一支行又當(dāng)經(jīng)理又當(dāng)審計(jì)不能在同一支行又當(dāng)經(jīng)理又當(dāng)審計(jì)員)。這種約束可以從聯(lián)系集拉出一個(gè)箭頭指向員)。這種約束可以從聯(lián)系集拉出一個(gè)箭頭指向job來表示。來表示。第27頁/共66頁 只允許

19、聯(lián)系集外最多有一個(gè)箭頭,否則會(huì)有兩種解釋: 來自A1,A2,Ai的實(shí)體的一個(gè)特殊組合最多只能和來自Ai+1, Ai+2, ,An實(shí)體的一個(gè)組合相關(guān)。聯(lián)系R的主碼可以用A1, A2, ,Ai的主碼的并集來構(gòu)造。 對(duì)每個(gè)實(shí)體集Ak,ikn,來自其他實(shí)體集的每個(gè)實(shí)體組合最多和來自Ak的一個(gè)實(shí)體相關(guān)。每個(gè)集合A1,A2,Ak-1 Ak+1 , ,An ,ikn,都形成一個(gè)候選碼。A1RA2AiAi+1Ai+2An第28頁/共66頁P(yáng)articipation of an Entity Set in a Relationship Set聯(lián)系集中的實(shí)體集參與Total participation完全參與完全

20、參與 (用雙線表示用雙線表示): 實(shí)體集中的每實(shí)體集中的每個(gè)實(shí)體至少參與聯(lián)系集中的一個(gè)聯(lián)系。個(gè)實(shí)體至少參與聯(lián)系集中的一個(gè)聯(lián)系。 例如,例如,loan是完全參與是完全參與 borrower 。每筆貸款必須有一個(gè)顧。每筆貸款必須有一個(gè)顧客與之相關(guān)聯(lián)??团c之相關(guān)聯(lián)。Partial participation部分參與:某些實(shí)體可以不參與聯(lián)系部分參與:某些實(shí)體可以不參與聯(lián)系集中的任何聯(lián)系。集中的任何聯(lián)系。 例如,例如,customer 部分參與部分參與 borrower。total participation第29頁/共66頁Alternative Notation for Cardinality Li

21、mits基數(shù)限制的注釋 基數(shù)限制也可以表示參與約束(每個(gè)實(shí)體參與聯(lián)系的次數(shù))l.h: l 最小基數(shù)最小基數(shù) h 最大基數(shù)最大基數(shù)l為為 1 表示完全參與。表示完全參與。h為為 1 表示實(shí)體至多參與一個(gè)聯(lián)系。表示實(shí)體至多參與一個(gè)聯(lián)系。h為為 * 表示沒有限制。表示沒有限制。 1.* =完全參與完全參與如果一個(gè)二元聯(lián)系的兩條邊都有最大值如果一個(gè)二元聯(lián)系的兩條邊都有最大值1,此聯(lián)系是一對(duì)一。,此聯(lián)系是一對(duì)一。C1 L1 C2 L2C3 L3C4 L4C5一對(duì)多第30頁/共66頁Weak Entity Sets弱實(shí)體集weak entity set弱實(shí)體集是指沒有主鍵的實(shí)體集。弱實(shí)體集依賴于標(biāo)識(shí)(強(qiáng))

22、實(shí)體集identifying entity set。 弱實(shí)體集必然通過一對(duì)多聯(lián)系集與標(biāo)識(shí)(強(qiáng))實(shí)體集關(guān)聯(lián) 。并且弱實(shí)體集全部參與聯(lián)系。 標(biāo)識(shí)性聯(lián)系用雙邊菱形框表示。弱實(shí)體集中的分辨符discriminator (或稱部分碼)是一組屬性,用于區(qū)分弱實(shí)體集中的實(shí)體。例,payment-number區(qū)分同一筆貸款的不用payment實(shí)體。弱實(shí)體集的主碼由弱實(shí)體集所依賴的強(qiáng)實(shí)體集的主碼,及弱實(shí)體集的分辨符構(gòu)成。第31頁/共66頁Weak Entity Sets (Cont.)弱實(shí)體集(續(xù))付款的主碼(貸款號(hào),付款號(hào)) 標(biāo)識(shí)性聯(lián)系集應(yīng)該沒有描述性屬性,因?yàn)槿魏伪匦璧膶傩远伎珊腿鯇?shí)體集關(guān)聯(lián)。(因?yàn)橐粚?duì)多聯(lián)

23、系集)weak entity settotal participationIdentifying relationshipdiscriminator第32頁/共66頁 弱實(shí)體集還可以參與標(biāo)識(shí)性聯(lián)系以外的其他聯(lián)系。例,payment實(shí)體可以參與與account實(shí)體相關(guān)聯(lián)的聯(lián)系,以標(biāo)識(shí)支付貸款的帳戶。弱實(shí)體集可以作為屬主實(shí)體集參與到與另一個(gè)弱實(shí)體集的標(biāo)識(shí)性聯(lián)系中。一個(gè)弱實(shí)體集也可能與不止一個(gè)屬主實(shí)體集關(guān)聯(lián),這樣一個(gè)特殊的弱實(shí)體可以通過來自標(biāo)識(shí)實(shí)體集的實(shí)體組合來標(biāo)識(shí)。弱實(shí)體集的主碼可以有標(biāo)識(shí)實(shí)體集的主碼的并集加上弱實(shí)體集的分辨符組成。 某些情況下,可以選擇將一個(gè)弱實(shí)體集表述為它所屬的實(shí)體集的一個(gè)多值

24、復(fù)合屬性。例,實(shí)體集loan具有一個(gè)多值復(fù)合屬性payment,它由payment-number、payment-date和payment-amount組成。如果弱實(shí)體集只參與標(biāo)識(shí)性聯(lián)系,而且其屬性不多,那么建模時(shí)將其表述為一個(gè)屬性更合適。相反,如果弱實(shí)體集參與到標(biāo)識(shí)性聯(lián)系以外的聯(lián)系中,或者其屬性較多時(shí),則建模時(shí)將其表述為弱實(shí)體集更恰當(dāng)。同一門課會(huì)在不同學(xué)期上,而在一學(xué)期里會(huì)有同一門課的幾部分。同一門課的不同提供由semester和Section-number來標(biāo)識(shí),分辨符是兩個(gè)。semesterCourse-offeringccocoursecourse-numbernameM1Sectio

25、n-number第33頁/共66頁Specialization特殊化 自上而下的設(shè)計(jì)過程;在某實(shí)體集中標(biāo)識(shí)出實(shí)體子集,有別于集合中的其它實(shí)體。 一個(gè)實(shí)體可以根據(jù)多個(gè)可區(qū)分的特征來進(jìn)行特殊化。 當(dāng)一個(gè)實(shí)體集有不只一種特殊化方式,則這個(gè)特定實(shí)體可能同時(shí)屬于多個(gè)特殊化實(shí)體集。 用標(biāo)識(shí)成ISA的三角形構(gòu)件表示(如客戶“是ISA”人)。第34頁/共66頁特殊化示例Specialization Example第35頁/共66頁一般化Generalization 自下而上的設(shè)計(jì)過程將一組實(shí)體集所共享的特性組成較高層實(shí)體集。 特殊化和概括化是相對(duì)的;它們以相同的形式表現(xiàn)在E-R圖中。 術(shù)語特殊化和概括化可以互

26、換。 屬性繼承Attribute inheritance 低層實(shí)體集繼承相關(guān)聯(lián)的高層實(shí)體集的所有屬性和參與的關(guān)系。第36頁/共66頁Design Constraints on a Specialization / Generalization 建立在特殊性和概括性上的約束 確定哪些實(shí)體可以是給定低層實(shí)體集的成員的約束。 condition-defined 條件定義(成員資格條件) 例,高層實(shí)體集account具有屬性account-type(savings account或checking account)。由于所有低層實(shí)體都基于同一屬性(account-type)進(jìn)行評(píng)估,這種類型的一般化稱

27、為是屬性定義的。 user-defined 用戶定義(用戶指定) 例,銀行員工在三個(gè)月的雇傭期后被分配到四個(gè)工作組中的一個(gè)。第37頁/共66頁 同一概括中,確定實(shí)體是否可以同屬于多個(gè)低層實(shí)體集的約束 Disjoint 不相交(只屬于一個(gè)低層實(shí)體) 例,高層實(shí)體集account具有屬性account-type(savings account或checking account),一個(gè)實(shí)體不能既是儲(chǔ)蓄帳戶又是支票帳戶。 Overlapping 重疊(可屬于同一概括中的多個(gè)低層實(shí)體) 例,銀行員工在三個(gè)月的雇傭期后被分配到四個(gè)工作組中的一個(gè),假設(shè)某些經(jīng)理參加到多個(gè)工作組中。第38頁/共66頁 完備性約

28、束確定高層實(shí)體集中的實(shí)體是否必須屬于同一特殊(概括)中至少一個(gè)低層實(shí)體集。 Total (double line) 全部(每個(gè)高層實(shí)體必須屬于一個(gè)低層實(shí)體集) Partial (line) 部分(允許某些高層實(shí)體不屬于任何低層實(shí)體集) 完備性約束可以和第二類約束任意組合。employeeISAcustomerpersonsavings-accountISAchecking-accountaccountoverlappingpartial participationtotal participationdisjoint第39頁/共66頁E-R Diagram With Redundant Rel

29、ationships冗余關(guān)系的E-R圖第40頁/共66頁Aggregation (Cont.)聚集(續(xù)) 聯(lián)系集works-on和manages擁有重疊的信息。 通過聚集aggregation消除冗余。 將聯(lián)系視為抽象實(shí)體。 允許聯(lián)系間有聯(lián)系。 聯(lián)系抽象成為新實(shí)體。 消除冗余后,下圖說明如下: 雇員在特定部門的特定工作中工作,(也可以在不同的部門,為不同的工作工作)。 雇員、部門和工作的組合有一個(gè)相關(guān)的領(lǐng)導(dǎo)(管理員)。第41頁/共66頁E-R Diagram With Aggregation使用聚集的E-R圖第42頁/共66頁Summary of Symbols Used in E-R Not

30、ation E-R設(shè)計(jì)中使用的符號(hào)匯總第43頁/共66頁Summary of Symbols (Cont.)符號(hào)匯總(續(xù))第44頁/共66頁Alternative E-R Notations可選的E-R表示第45頁/共66頁E-R Design Decisions E-R圖設(shè)計(jì)策略 用實(shí)體集或?qū)傩员硎緦?duì)象。 如何使用實(shí)體集或關(guān)系集最佳表達(dá)現(xiàn)實(shí)世界的概念。 三元關(guān)系的使用和一對(duì)二元關(guān)系的使用的對(duì)比。 強(qiáng)或弱實(shí)體集的使用。 特殊性和概括性的使用提高模塊化設(shè)計(jì)能力。 聚集的使用將聚集實(shí)體集視為單個(gè)單元,而不必關(guān)注其內(nèi)部結(jié)構(gòu)的細(xì)節(jié)。第46頁/共66頁Design Phases設(shè)計(jì)階段 刻劃數(shù)據(jù)需求階段

31、用戶需求規(guī)格說明 概念設(shè)計(jì)階段功能需求規(guī)格說明 邏輯設(shè)計(jì)階段 物理設(shè)計(jì)階段第47頁/共66頁E-R Diagram for a Banking Enterprise銀行系統(tǒng)的E-R圖第48頁/共66頁Reduction of an E-R Schema to Tables將E-R模式轉(zhuǎn)換成表 主碼使實(shí)體集和關(guān)系集可以表示為表,成為數(shù)據(jù)庫的組成部分。 與某E-R圖相對(duì)應(yīng)的數(shù)據(jù)庫可以表示為一組表。 每一個(gè)實(shí)體集和關(guān)系集,都可以唯一地用一個(gè)表表示,其名稱可以使用相對(duì)應(yīng)的實(shí)體集或關(guān)系集的名稱。 每個(gè)表都有若干列(通常相當(dāng)于屬性),每一列都有唯一的名稱。 從E-R圖產(chǎn)生出一個(gè)關(guān)系數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖

32、轉(zhuǎn)換成表是基礎(chǔ)。第49頁/共66頁Strong Entity Sets 強(qiáng)實(shí)體集 強(qiáng)實(shí)體集轉(zhuǎn)換成表時(shí),擁有相同的屬性。 Cartesian product 笛卡兒積: D1D2 Dn (表有n列)第50頁/共66頁Weak Entity Sets弱實(shí)體集 弱實(shí)體集轉(zhuǎn)變?yōu)楸砗?,包括一個(gè)用于標(biāo)識(shí)強(qiáng)實(shí)體集的主碼的列。第51頁/共66頁Relationship Sets 聯(lián)系集聯(lián)系集轉(zhuǎn)變?yōu)楸砗?,表中各列?duì)應(yīng)于聯(lián)系集的每一個(gè)描述性屬性,以及每一個(gè)用于標(biāo)識(shí)強(qiáng)實(shí)體集的主碼的屬性。第52頁/共66頁Redundancy of Tables表的冗余 表示連接弱實(shí)體集及其標(biāo)識(shí)性強(qiáng)實(shí)體集的聯(lián)系集的表是冗余的。 例如

33、,付款表已經(jīng)包含了貸款-付款表中會(huì)出現(xiàn)的信息(如列貸款號(hào)和付款號(hào))第53頁/共66頁Combination of Tables 表的合并 多對(duì)一和一對(duì)多的在多方全部參與的聯(lián)系集,在表示時(shí)可以在多方為一方的每一個(gè)主碼屬性和聯(lián)系集的每一個(gè)描述性屬性加一列。H 例如,不生成關(guān)系帳戶-部門表,而在帳戶實(shí)體集中加一個(gè)部門屬性。第54頁/共66頁Combination of Tables (cont.)表的合并(續(xù)) 一對(duì)一關(guān)系集,任何一方都可以用于表示“多”方。即,附加的列可以加上任意一個(gè)實(shí)體集中。 如果多方是部分參與,則多方中增加的列的屬性值應(yīng)允許使用空值。第55頁/共66頁Composite Att

34、ributes復(fù)合屬性 為復(fù)合屬性的每個(gè)子屬性創(chuàng)建一個(gè)單獨(dú)的列,而不為復(fù)合屬性自身創(chuàng)建一個(gè)單獨(dú)的列。customer-streetcustomercustomer-citycustomer-idcustomer-addresscustomer-namecustomer-idcustomer-namecustomer-streetcustomer-citycustomer第56頁/共66頁Multivalued Attributes多值屬性實(shí)體E的多值屬性M可以用單獨(dú)的表T來表示。表T有對(duì)應(yīng)E的主碼的屬性和對(duì)應(yīng)多值屬性M的屬性。多值屬性中的每個(gè)值映射至表T中的單獨(dú)行。employee-idemp

35、loyeedependent-nameemployee-idd-namedependent-name第57頁/共66頁Generalization 一般化 方法1: 為高層實(shí)體構(gòu)造表。 構(gòu)成低層實(shí)體集的表,每個(gè)表中包含高層實(shí)體集的主碼及本層的屬性。 table table attributesaccount account-number, balance savings-account account-number, interest-ratechecking-account account-number, overdraft-amount 缺點(diǎn):取諸如存儲(chǔ)賬戶的信息時(shí)需要存取兩個(gè)表。acco

36、unt-numbersavings-accountoverdraft-amountaccountinterest-ratebalanceISAchecking-account第58頁/共66頁 方法2: 如果一般化是不相交的且完全的,不為高層實(shí)體集創(chuàng)建任何表。 相反,為每個(gè)低層實(shí)體集構(gòu)造一個(gè)表,帶所有本層屬性和繼承屬性。 table table attributessavings-account account-number, balance, interest-ratechecking-account account-number, balance, overdraft-amount 如果一般化是重疊的,某些像余額這樣的值將沒必要地被存儲(chǔ)兩次。 如果一般化是部分的,某些實(shí)體不能表示出來。第59頁/共66頁Relations Corresponding to Aggregation相對(duì)于聚集的關(guān)系第60頁/共66頁Relations Corre

溫馨提示

  • 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)論