第02章:E-R模型_第1頁
第02章:E-R模型_第2頁
第02章:E-R模型_第3頁
第02章:E-R模型_第4頁
第02章:E-R模型_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2020/7/24,1,第2章實(shí)體-聯(lián)系人模型,講座內(nèi)容:實(shí)體-聯(lián)系人模型(E-R模型)基于對現(xiàn)實(shí)世界的理解。世界由一組名為實(shí)體的基本對象和這些對象之間的連接組成。E-R模型是語義模型主要嘗試表達(dá)數(shù)據(jù)含義的語義模型?;靖拍钊鯇?shí)體集設(shè)計(jì)問題擴(kuò)展E-R特性映射約束設(shè)計(jì)數(shù)據(jù)庫中的E-R模式代碼將E-R模式轉(zhuǎn)換為表實(shí)體聯(lián)系人。牙齒章節(jié)概括了2020/7/24,2,2.1基本概念。實(shí)體集實(shí)體實(shí)際上是可以與其他對象區(qū)分的“事件”或“對象”,每個實(shí)例都有一組屬性(也稱為屬性),某些屬性的值唯一標(biāo)識實(shí)例。實(shí)體集是具有相同類型和屬性的實(shí)體的集合。例如:清華大學(xué)的所有學(xué)生集都是一個實(shí)體集student中選擇所需

2、的構(gòu)件。實(shí)體集course表示清華大學(xué)開設(shè)的所有課程的集合。2020/7/24,3,2.1基本概念,對象集的屬性對象集可能相交。例如,學(xué)生集student教師集teacher人員集person對象集顯示為屬性集,屬性類型的分解是將對象集中的對象映射到屬性域(值范圍)的規(guī)則,可以根據(jù)配置、值和派生關(guān)系簡單地將對象集中的屬性分為以下類別:簡單屬性復(fù)合屬性單值屬性多值屬性NULL屬性衍生屬性屬性用于說明對象集。特別是對象集中每個對象的這些屬性的具體值。2020/7/24,5,2.1基本概念、簡單屬性和復(fù)合屬性簡單屬性不再是可分割為其他屬性的屬性。復(fù)合屬性是可以分為其他屬性的屬性。復(fù)合屬性聚合相關(guān)屬性

3、,使模型更清楚。復(fù)合屬性可以是分層結(jié)構(gòu)(例如,2020/7/24,6,2.1基本概念,單值和多值屬性單值屬性意味著特定實(shí)體只能有單值)。對于特定實(shí)體,如果屬性可以對應(yīng)于一組值,則這些屬性稱為多值屬性。例如,實(shí)體集teacher的屬性:teacher_number絕對是單值屬性。Teacher_name可以是多個值。2020/7/24,7,2.1基本概念null屬性對象在屬性沒有值時使用null值,但NULL值的含義并不表示屬性沒有值。還可以指示屬性值未知。沒有值。存在值,但沒有有關(guān)該值的信息。不知道牙齒屬性到底有沒有價值。例如,teacher_name的middle_initial值為null

4、,表示名稱不包含中間名?;蛘咧虚g名存在,但當(dāng)前不知道其值?;蛘吒静恢乐虚g名是否真的存在。2020/7/24,8,2.1基本概念、派生屬性等屬性的值可以從其他相關(guān)屬性或?qū)嶓w派生而來。例如,假設(shè)實(shí)體集teacher具有兩個茄子屬性start _ working _ dateemployment _ period。employment_period的值是當(dāng)前日期的Start _ working Start _ working _ date稱為主要屬性或存儲屬性,employment _ period是衍生屬性。2020/7/24,9,2.1基本概念,聯(lián)系人集連接是多個實(shí)體之間的相互關(guān)聯(lián)。聯(lián)系人集

5、是相似連接的集合。嚴(yán)格地說,接觸集是n(n2)圖元集的數(shù)學(xué)關(guān)系,這些圖元集不需要徐璐不同。公式定義如下:如果E1,E2,EN牙齒N個圖元集,聯(lián)系人集R是(E1,E2,En) | E1E1,E2E2,ENEN的子集,(E1,E2,),2020/7/220即對象集E1、E2、En參與聯(lián)系人集R;實(shí)體在接觸中的角色稱為實(shí)體的角色。聯(lián)系人集還可以包含說明屬性。例如,對于selecting(student和course之間的聯(lián)系人集),您可以將select_date屬性與相應(yīng)的聯(lián)系人集相關(guān)聯(lián),以指示學(xué)生選擇類的日期。Selecting屬性course_score表示一名學(xué)生參加課程的成績。,2020/7

6、/24,11,2.1基本概念,元和也與一個接觸集相關(guān)的徐璐其他對象集的數(shù)量稱為接觸集的“元”。例如,數(shù)據(jù)庫中的大多數(shù)接觸集都是二進(jìn)制接觸集,包含兩個徐璐的其他對象集。聯(lián)系人集包含兩個或多個對象集。例如,合并聯(lián)系人集selecting和student_department以構(gòu)建包含三個徐璐其他對象集student、course和department的三元聯(lián)系人集SCD。有一元聯(lián)絡(luò)店嗎?與元的概念不同,聯(lián)系人集中一個連接中涉及的所有實(shí)體的數(shù)量稱為聯(lián)系人集中的“度”。2020/7/24,12,2.2設(shè)計(jì)問題,概述使用E-R模型設(shè)計(jì)數(shù)據(jù)庫的概念結(jié)構(gòu)時,繪制矩形框和鉆石框是否如此簡單?需要注意的問題是什

7、么?對象應(yīng)設(shè)計(jì)為實(shí)體集或?qū)嶓w集的屬性嗎?對象應(yīng)該設(shè)計(jì)為實(shí)體集還是聯(lián)系人集?可以采用的原則是什么?聯(lián)系人應(yīng)該設(shè)計(jì)成二元聯(lián)系方式還是多元聯(lián)系方式?2020/7/24,13,2.2設(shè)計(jì)問題,實(shí)體集或?qū)傩詫?shí)體集teacher: teacher_number,teacher_name和teacher_age新要求明確呼叫實(shí)體集telephone具有telephone_number和location等屬性的一組圖元teacher和telephone定義如下:實(shí)體集teacher具有teacher_number屬性;實(shí)體集telephone具有telephone_number和location具有屬性。聯(lián)系

8、人集teacher_telephone表示教師和電話之間的連接。2020/7/24,14,2.2設(shè)計(jì)問題,兩個設(shè)計(jì)之間的差異第一種情況通常暗示每個教師只能連接一個電話號碼。這不完全正確。將telephone_number作為多值屬性處理意味著教師可以連接到多個電話號碼。第二種情況表示每個教師可以有多個電話號碼(包括0)。因此,第二個定義比第一個定義更為普遍。即使每個老師都與電話號碼正確連接,當(dāng)多個老師共享電話時,第二個定義也更準(zhǔn)確。2020/7/24,15,2.2設(shè)計(jì)問題,為什么第二個定義很少使用?第一個定義:重復(fù)數(shù)據(jù),浪費(fèi)存儲空間;容易引起數(shù)據(jù)不一致。第二個定義:更接近現(xiàn)實(shí)世界。但是不太適合

9、人的惰性思維,查詢不方便,需要通過鏈接或指針。對象集和屬性不是絕對的,但什么可以用作屬性?可用作實(shí)體集的是什么?很難回答。主要取決于建模的現(xiàn)實(shí)世界的實(shí)際情況和討論的屬性的相關(guān)含義。2020/7/24,16,2.2設(shè)計(jì)問題(例如考慮實(shí)體集teacher的電話屬性)可以在概念級別用作多值屬性。但是在邏輯層中,多個茄子可能對應(yīng)于其他原子屬性。teacher_name telephone_number0(單位電話1) telephone_number1(單位電話2)Telephone _ number 2 Telephone _ number 2使用課程作為學(xué)生和教師之間的聯(lián)系集,簡單地有說明屬性co

10、urse_number和course_name牙齒。2020/7/24,18,2.2設(shè)計(jì)問題,多名學(xué)生選擇同一課程作為實(shí)體房子或聯(lián)系方式是不容易表達(dá)的。因?yàn)楸仨殲檫x擇相同學(xué)科課程的每個學(xué)生單獨(dú)定義與教員的聯(lián)系。因此,在這些課程的每個聯(lián)系人中,必須重復(fù)說明屬性course_number和course_name的值。在決定使用實(shí)體集還是聯(lián)系人集時,只要適用,茄子原則就是最好在說明實(shí)體之間發(fā)生的行為時使用聯(lián)系人集。,2020/7/24,19,2.2設(shè)計(jì)問題,包含二進(jìn)制聯(lián)系人集和N元聯(lián)系人集三個實(shí)體集student、department和course的二進(jìn)制聯(lián)系人集student_department

11、和selecting,2020/,2020/7/22否則,為e生成特殊標(biāo)識屬性。這是因?yàn)槊總€實(shí)體集必須至少包含一個屬性集,以區(qū)分實(shí)體集的各個成員。設(shè)置三個茄子聯(lián)系人集:RA:聯(lián)系人對象集e和A RB:聯(lián)系人對象集e和B RC:聯(lián)系人對象集e和C,2020/7/24,22,2.2設(shè)計(jì)問題,將n元聯(lián)系人集轉(zhuǎn)換為二元聯(lián)系人集聯(lián)系人集r的每個聯(lián)系人(ai,bi),然后為三個新聯(lián)系人設(shè)置插入到RA(ei,ai)插入到RB(ei,bi)插入到RC(ei,ci)可以將這些過程擴(kuò)展到N元聯(lián)系人集,因此E-R模型只能包含二進(jìn)制聯(lián)系人集。2020/7/24,23,2.2設(shè)計(jì)問題,都使用二元聯(lián)系套滿意嗎?您可能需要

12、為創(chuàng)建的對象集創(chuàng)建id屬性以表示聯(lián)系人集。牙齒識別屬性和所需的附加聯(lián)系人集增加了設(shè)計(jì)的復(fù)雜性和對存儲空間的需求。n元聯(lián)系人集可以更明確地表示多組實(shí)體與一組聯(lián)系人相關(guān),在使用相應(yīng)的二進(jìn)制聯(lián)系人集的設(shè)計(jì)中,很難實(shí)施這些參與約束,破壞了人們對真實(shí)世界的認(rèn)識。3個實(shí)體集之間的三元連接集和3個實(shí)體集2 2之間的3個二元連接集是否相同?2020/7/24,24,2.3映射約束,映射基數(shù)映射基數(shù)或基數(shù)比率,表示對象集中的一個對象可以通過一個連接集與另一個對象集相關(guān)聯(lián)的實(shí)體數(shù)。映射基數(shù)在描述二進(jìn)制聯(lián)系人集時很有用。牙齒部分僅說明二進(jìn)制聯(lián)系人集。映射和函數(shù)的關(guān)系?函數(shù)是特殊的映射!對于實(shí)體集A和實(shí)體集B之間的二

13、進(jìn)制連接集R,映射標(biāo)準(zhǔn)可以是2020/7/24,25,2.3映射約束、映射標(biāo)準(zhǔn)、2020/7/24,26映射標(biāo)準(zhǔn)的正確連接集映射標(biāo)準(zhǔn)之一,相反,如果學(xué)校規(guī)定一門課程可以由多位老師一起說明,則牙齒聯(lián)系簿可以是多對多,2.3映射約束、2020/7/24,27、映射基數(shù)和聯(lián)系人集中的屬性位置映射基數(shù)影響聯(lián)系人集中的屬性位置。一對一或一對多(多對一)聯(lián)系人集中的屬性可以放置在參與聯(lián)系人集的對象集中,而不是聯(lián)系人集。例如,可以一對一地放置一個,將多對一接觸集selecting的屬性course_score放置在多實(shí)體集student上。2.3映射約束、2020/7/24,28、映射基數(shù)和聯(lián)系人集的屬性位

14、置、多對多聯(lián)系人集屬性只能放置在聯(lián)系人集中,不能放置在參與聯(lián)系人集的對象集中。例如,多對多聯(lián)系人集selecting的屬性course_score由參與聯(lián)系人集引發(fā),另一個具有2.3映射約束、2020/7/24,29,2.3映射約束、相關(guān)性的重要約束是相關(guān)性。如果圖元X的存在取決于圖元Y的存在,則X的存在取決于Y。如果從操作中刪除實(shí)體Y,則實(shí)體X也將被刪除。實(shí)體Y稱為控制實(shí)體,實(shí)體X稱為從屬實(shí)體。例如,圖元集teacher和圖元集dependent記錄與教師相關(guān)聯(lián)的家族信息。這里僅限于夫妻和子女的關(guān)系,只有一名家族在該大學(xué)工作。Dependent的每個實(shí)例都必須具有相應(yīng)的teacher實(shí)例。刪

15、除Teacher實(shí)例時,還必須刪除其所有dependent實(shí)例!2020/7/24,30,2.3映射約束,從屬和完全參與對象集E的每個對象(僅限部分實(shí)體)參與聯(lián)系人集R的一個或多個連接時,對象集E完全參與(部分參與)聯(lián)系人集R;所有參與都與存在依賴性密切相關(guān)。例如,圖元集teacher到圖元集dependent的接觸集teacher_dependent是一對多。每個dependent對象必須通過teacher_dependent聯(lián)系人集的連接與teacher實(shí)體相關(guān)聯(lián),因此實(shí)體集dependent將參與teacher_dependent聯(lián)系人集。Dependent實(shí)例確實(shí)存在,具體取決于teacher實(shí)例。2020/7/24,31,2.4碼,代碼的作用是區(qū)分實(shí)體集中的每個實(shí)體或確定聯(lián)系人集中的每個連接。主觀上各個實(shí)體或連接徐璐不同(人可以看到)。但是從數(shù)據(jù)庫的角度來看,它們的區(qū)別必須用屬性來表示。物件集的程式碼超級程式碼是一或多個屬性的集合,可讓您唯一識別物件集內(nèi)的每個物件,例如物件集student的屬性student_number。2020/7/24,32,2.4碼,超級碼和候選碼超級碼可能包含不重要的屬性。如果k是超級代碼,則k的所有超集也是超級代碼。通常我們只對這種超級代碼感興趣。它們真正的子集不能是超級代碼。這種

溫馨提示

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

評論

0/150

提交評論