數(shù)據(jù)庫技術(shù)基礎(chǔ)chp2課件_第1頁
數(shù)據(jù)庫技術(shù)基礎(chǔ)chp2課件_第2頁
數(shù)據(jù)庫技術(shù)基礎(chǔ)chp2課件_第3頁
數(shù)據(jù)庫技術(shù)基礎(chǔ)chp2課件_第4頁
數(shù)據(jù)庫技術(shù)基礎(chǔ)chp2課件_第5頁
已閱讀5頁,還剩101頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫技術(shù)基礎(chǔ)第2章實體-聯(lián)系模型數(shù)據(jù)庫技術(shù)基礎(chǔ)第2章實體-聯(lián)系模型第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體-聯(lián)系模型

2.3擴(kuò)充的實體-聯(lián)系模型

2.4小結(jié)第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)第2章實體-聯(lián)系模型(續(xù))圖2.1樓盤模擬圖

圖2.2房屋平面圖模型是現(xiàn)實世界特征的模擬和抽象。

第2章實體-聯(lián)系模型(續(xù))圖2.1樓盤模擬圖圖2.22.1學(xué)習(xí)目標(biāo)學(xué)完本章后,讀者應(yīng)具備以下能力:了解模型的概念。理解實體-聯(lián)系模型的表示方法。2.1學(xué)習(xí)目標(biāo)學(xué)完本章后,讀者應(yīng)具備以下能力:第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體-聯(lián)系模型

2.3擴(kuò)充的實體-聯(lián)系模型

2.4小結(jié)第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體-聯(lián)系模型概念模型的用途概念模型用于信息世界的建模。是現(xiàn)實世界到機器世界的一個中間層次。是數(shù)據(jù)庫設(shè)計的有力工具。數(shù)據(jù)庫設(shè)計人員和用戶之間進(jìn)行交流的語言。對概念模型的基本要求較強的語義表達(dá)能力。能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識。簡單、清晰,易于用戶理解。2.2基本的實體-聯(lián)系模型概念模型的用途2.2基本的實體-聯(lián)系模型(續(xù))

2.2.1基本概念

2.2.2幾點說明

2.2基本的實體-聯(lián)系模型(續(xù))2.2.1基本2.2.1基本概念(1)實體(Entity)在實體聯(lián)系模型中,用實體表示現(xiàn)實世界中某一個具體的事物。實體可以是具體的人、事、物或抽象的概念。(2)實體型(EntityType)具有相同性質(zhì)的實體組成了一個實體型。每個實體型要有一個名字,一般用名詞表示。(3)屬性(Attribute)表示實體型的特點或性質(zhì)。一個實體可以由若干個屬性來刻畫。1.實體和實體型(續(xù))2.2.1基本概念(1)實體(Entity)1.實2.2.1基本概念(續(xù))復(fù)合屬性可以進(jìn)一步細(xì)分的屬性。簡單屬性不可以進(jìn)一步細(xì)分的屬性。單值屬性實體型中所有實體在某個屬性上只取一個值的屬性。多值屬性實體在屬性上取多個值的屬性。派生屬性從其他屬性經(jīng)過計算得到的屬性。1.實體和實體型(續(xù))2.2.1基本概念(續(xù))復(fù)合屬性1.實體和實體型(續(xù))2.2.1基本概念(續(xù))(4)域(Domain)屬性的取值范圍稱為該屬性的域。(5)碼(Key)唯一標(biāo)識實體的屬性集稱為碼。除了唯一性之外,碼的第二個特點是最小性。最小性是指從碼中去掉任何一個屬性后就不再具有唯一性。1.實體和實體型(續(xù))2.2.1基本概念(續(xù))(4)域(Domain)1.2.2.1基本概念(續(xù))超級碼(SuperKey)包含關(guān)鍵字的屬性組叫做超級碼,具有唯一性,但不具有最小性。主碼(PrimaryKey)如果一個實體型有多個碼,則要從中選取一個作為實體型的碼,被選中的關(guān)鍵字叫做主碼。候選碼(CandidateKey)其他的碼叫做候選碼。1.實體和實體型(續(xù))2.2.1基本概念(續(xù))超級碼(SuperKey)1.2.2.1基本概念(續(xù))例如:學(xué)生實體型具有學(xué)號、姓名、性別、院系、出生日期、入學(xué)日期和獎勵屬性,其E-R圖如圖2.3所示。學(xué)生學(xué)號姓名性別院系出生日期入學(xué)日期獎勵圖2.3學(xué)生實體型和屬性

從圖中可以看出,實體型的名稱是學(xué)生,學(xué)號是碼,獎勵屬性是一個多值屬性(因為一個學(xué)生可以沒有獲得任何獎勵,或者獲得一到多個獎勵)。

1.實體和實體型(續(xù))2.2.1基本概念(續(xù))例如:學(xué)生實體型具有學(xué)號、姓名、性2.2.1基本概念(續(xù))(1)聯(lián)系型用于在實體型之間表示物體之間的聯(lián)系。聯(lián)系型要有名稱,一般用動詞或動詞短語作為聯(lián)系型的名稱。在E-R圖中用菱形表示聯(lián)系型,菱形框內(nèi)寫明聯(lián)系型的名稱,并用無向邊分別與相關(guān)聯(lián)的實體型連接起來。例如,學(xué)生和班級實體型之間存在一個聯(lián)系型,取名為“隸屬于”,描述了學(xué)生和班級之間的關(guān)系,如圖2.4所示。學(xué)生班級隸屬于圖2.4用菱形表示聯(lián)系型

2.聯(lián)系和聯(lián)系型n12.2.1基本概念(續(xù))(1)聯(lián)系型學(xué)生班級隸屬于圖2.2.1基本概念(續(xù))(2)聯(lián)系是聯(lián)系型的一個實例。聯(lián)系型“從屬于”的實例(即聯(lián)系)就是班級花名冊??梢杂脠D和表來表示聯(lián)系。圖2.5表示學(xué)生S1、S2和S3屬于班級C1,學(xué)生S4和S5屬于班級C2,或者說班級C1中有S1、S2和S3三個學(xué)生,班級C2中有S4和S5兩個學(xué)生。S1S2S3S4S5C1C2姓名班級S1C1S2S3S4C2S5圖2.5聯(lián)系的兩種表示方法:圖和表

2.聯(lián)系和聯(lián)系型(續(xù))2.2.1基本概念(續(xù))(2)聯(lián)系S1S2S3S4S5C2.2.1基本概念(續(xù))課程選修學(xué)生mn成績聯(lián)系的屬性聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。例如,在學(xué)校中,一個學(xué)生要選修一些課程,學(xué)習(xí)完一門課程后會有一個學(xué)習(xí)成績。學(xué)生與課程之間的聯(lián)系型“選修”有一個屬性:成績,如圖2.6所示。圖2.6聯(lián)系型的屬性

2.2.1基本概念(續(xù))課程選修學(xué)生mn成績聯(lián)系的屬性圖22.2.1基本概念(續(xù))聯(lián)系型“選修”的實例是學(xué)生成績表,如表2.1所示。表2.1學(xué)生成績表學(xué)號課程號成績20070121156802007113115689200725611569320070141156882007012102480………………2.2.1基本概念(續(xù))聯(lián)系型“選修”的實例是學(xué)生成績表,2.2.1基本概念(續(xù))一個聯(lián)系型所關(guān)聯(lián)的實體型的個數(shù)叫做聯(lián)系型的度。只關(guān)聯(lián)到一個實體型的聯(lián)系型叫做一元聯(lián)系型,有二個實體型參與的聯(lián)系型叫做二元聯(lián)系型,依此類推。圖2.4和2.6是二元聯(lián)系型,圖2.7(a)是三元聯(lián)系型,圖2.7(b)是一元聯(lián)系型。教師學(xué)生課程教學(xué)學(xué)生領(lǐng)導(dǎo)同學(xué)班長學(xué)生領(lǐng)導(dǎo)(a)(b)(c)圖2.7一元和三元聯(lián)系型

2.2.1基本概念(續(xù))一個聯(lián)系型所關(guān)聯(lián)的實體型的個數(shù)叫做2.2.1基本概念(續(xù))實體型A聯(lián)系名實體型B111:1聯(lián)系實體型A聯(lián)系名1n1:n聯(lián)系實體型A實體型B聯(lián)系名mnm:n聯(lián)系實體型B用圖形來表示兩個實體型之間的這三類聯(lián)系

3.聯(lián)系的分類2.2.1基本概念(續(xù))實體型A聯(lián)系名實體型B111:12.2.1基本概念(續(xù))一對一聯(lián)系(1:1)實例一個學(xué)生只有一個學(xué)生證,一個學(xué)生證只對應(yīng)一個學(xué)生。定義:如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1。學(xué)生擁有學(xué)生證111:1聯(lián)系3.聯(lián)系的分類(續(xù))2.2.1基本概念(續(xù))一對一聯(lián)系(1:1)學(xué)生擁有2.2.1基本概念(續(xù))一對多聯(lián)系(1:n)實例一個班級中有若干名學(xué)生,每個學(xué)生只屬于一個班級。定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B具有一對多聯(lián)系,記為1:n。班級隸屬于

學(xué)生1n1:n聯(lián)系3.聯(lián)系的分類(續(xù))2.2.1基本概念(續(xù))一對多聯(lián)系(1:n)班級隸屬于學(xué)2.2.1基本概念(續(xù))多對多聯(lián)系(m:n)實例課程與學(xué)生之間的聯(lián)系:一門課程同時有若干個學(xué)生選修,一個學(xué)生可以同時選修多門課程。定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n。課程選修學(xué)生mnm:n聯(lián)系成績3.聯(lián)系的分類(續(xù))2.2.1基本概念(續(xù))多對多聯(lián)系(m:n)課程選修學(xué)生2.2.1基本概念(續(xù))基數(shù)約束基數(shù)約束是為了更精確地描述實體型的一個實體可以在一個聯(lián)系中出現(xiàn)的次數(shù)而引入的概念。基數(shù)約束用一個數(shù)對min..max表示0≤min≤max。強制參與約束min=1的約束。非強制參與約束min=0的約束。被施加基數(shù)約束的實體型中的實體可以出現(xiàn)在聯(lián)系中,也可以不出現(xiàn)在聯(lián)系中?;鶖?shù)約束是上面敘述過的一對一、一對多、多對多聯(lián)系的細(xì)化。參與聯(lián)系的每個實體型要用基數(shù)約束說明實體型中的任何一個實體可以在聯(lián)系中出現(xiàn)的最少次數(shù)和最多次數(shù)。4.基數(shù)約束2.2.1基本概念(續(xù))基數(shù)約束4.基數(shù)約束2.2.1基本概念(續(xù))圖2.8-10的一對一、一對多、多對多聯(lián)系用基數(shù)約束表示為圖2.11所示。

1..11..1學(xué)生學(xué)生證擁有20..8020..30學(xué)生課程選修成績30..401..1班級學(xué)生擁有班級的約束學(xué)生的約束圖2.11一對一、一對多、多對多的基數(shù)約束表示方法

4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))圖2.8-10的一對一、一對多、多2.2.1基本概念(續(xù))但在三元聯(lián)系或多元聯(lián)系中,基數(shù)約束要靠近需要施加約束的實體型,如圖2.12所示。1..31..*20..30教師學(xué)生課程教學(xué)時間成績教師約束課程約束學(xué)生約束圖2.12三元聯(lián)系的基數(shù)約束的表示方法

4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))但在三元聯(lián)系或多元聯(lián)系中,基數(shù)約束2.2.1基本概念(續(xù))關(guān)聯(lián)實體型

當(dāng)E-R圖輔助制圖工具不支持二元以上的聯(lián)系時,需要將三元聯(lián)系轉(zhuǎn)換為三個二元聯(lián)系和一個關(guān)聯(lián)實體型。轉(zhuǎn)換步驟將原來的聯(lián)系型及其屬性轉(zhuǎn)換為一個關(guān)聯(lián)實體型。將原來施加到實體型的各個基數(shù)約束移動到靠近關(guān)聯(lián)實體型給原來的各個實體型施加1..1基數(shù)約束,如圖2.13所示。4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))關(guān)聯(lián)實體型4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))圖2.13給出了一個例子。1..31..*20..30教師學(xué)生課程教學(xué)時間成績111圖2.13關(guān)聯(lián)實體型

4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))圖2.13給出了一個例子。1..2.2基本的實體-聯(lián)系模型

2.2.1基本概念

2.2.2幾點說明

2.2基本的實體-聯(lián)系模型2.2.1基本概念2.2.2幾點說明多值屬性和復(fù)合多值屬性經(jīng)常被表示成一個聯(lián)系型。

[例2.1]實體型課程具有課程編號、名稱和預(yù)備課程三個屬性,如圖2.14(a)所示。一門課程可能有也可能沒有預(yù)備課程,可能有一門也可能有多門預(yù)備課程,所以,預(yù)備課程是一個多值屬性。由于預(yù)備課程也是實體型課程的實體,因此,可以把預(yù)備課程更改為一個聯(lián)系型,如圖2.14(b)所示。

(a)課程編號名稱預(yù)備課程課程編號名稱先修于預(yù)備課后續(xù)課程**(b)圖2.14多值屬性和聯(lián)系型

1.屬性和聯(lián)系2.2.2幾點說明多值屬性和復(fù)合多值屬性經(jīng)常被表示成一個聯(lián)2.2.2幾點說明(續(xù))[例2.2]圖2.3的學(xué)生實體型有一個多值屬性-獎勵。一個學(xué)生可以獲得零到多項獎勵,每項獎勵由獎勵日期和獎勵名稱組成,因此,獎勵屬性還是一個復(fù)合屬性??梢苑抡绽?.1,把該屬性處理成一個聯(lián)系型,名稱為“擁有”,如圖2.15所示。為清楚起見,沒有畫出學(xué)生實體型的所有的屬性。

*1姓名學(xué)生學(xué)號擁有獎勵名稱日期圖2.15多值復(fù)合屬性和聯(lián)系型

1.屬性和聯(lián)系(續(xù))2.2.2幾點說明(續(xù))[例2.2]圖2.3的學(xué)生實體型2.2.2幾點說明(續(xù))

[例2.3]如圖2.3,學(xué)生實體型有屬性院系,表示一個學(xué)生在哪個院系學(xué)習(xí)。院系是另外一個實體型,因此,比較清楚的表示方法是去掉學(xué)生實體型中的屬性院系,建立與實體型院系之間的聯(lián)系,如圖2.16所示。

1*名稱學(xué)生學(xué)號就讀于院系名稱編號圖2.16屬性轉(zhuǎn)換為聯(lián)系型

1.屬性和聯(lián)系(續(xù))2.2.2幾點說明(續(xù))[例2.3]如圖2.3,2.2.2幾點說明(續(xù))[例2.4]在學(xué)校中,為了便于管理,一般是由后勤部門把地點相對集中的若干個宿舍分配給一個院系,再由院系根據(jù)班級等因素給學(xué)生分派宿舍。在這個例子中有三個實體型:學(xué)生、院系、宿舍,那么有幾個聯(lián)系呢?應(yīng)該有學(xué)生“就讀于”院系,宿舍“分配給”院系,學(xué)生“使用”宿舍三個聯(lián)系,如圖2.17所示。2.遺漏聯(lián)系2.2.2幾點說明(續(xù))[例2.4]在學(xué)校中,為2.2.2幾點說明(續(xù))1*名稱學(xué)生學(xué)號就讀于院系名稱編號*1分配給宿舍地址編號使用1*圖2.17遺漏聯(lián)系

2.2.2幾點說明(續(xù))1*名稱學(xué)生學(xué)號就讀于院系名稱編號2.2.2幾點說明(續(xù))E-R模型沒有明確地表達(dá)世界的變化,可以把它理解為現(xiàn)實世界的快照,即某個時刻的一張照片。但實際使用中有時需要清晰地表達(dá)時間的概念,可以采用一些方法加以補救。[例2.5]考慮產(chǎn)品的價格。大家知道,由于市場的變化,產(chǎn)品的價格處于不斷波動中。如果要記錄下產(chǎn)品價格變化的歷史情況,E-R圖應(yīng)該怎樣畫?3.時間戳2.2.2幾點說明(續(xù))E-R模型沒有明確地表達(dá)世界的變2.2.2幾點說明(續(xù))(b)(a)價格產(chǎn)品編號產(chǎn)品價格歷史編號價格有效時間圖2.18時間的處理方法

2.2.2幾點說明(續(xù))(b)(a)價格產(chǎn)品編號產(chǎn)品價格歷2.2.2幾點說明(續(xù))教師講授課程*1..*認(rèn)證0..11..3學(xué)期教師和課程之間有兩個聯(lián)系:教師有資格講授課程,說明教師獲得了講授某門課程的資格;教師講授課程,描述教師在某學(xué)期講授一門課程。如圖2.19所示,一位教師有資格講授至少一門課程,一門課程可以有多位有資格講授的教師。在某個學(xué)期,一位教師可以不講課,或者講授一門課程,一門課程由一到三位教師講授。

圖2.19實體型之間的多個聯(lián)系4.實體型之間的多種聯(lián)系2.2.2幾點說明(續(xù))教師講授課程*1..*認(rèn)證0..第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體-聯(lián)系模型

2.3擴(kuò)充的實體-聯(lián)系模型

2.4小結(jié)第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.3擴(kuò)充的實體-聯(lián)系模型

2.3.1IsA聯(lián)系

2.3.2part-of聯(lián)系

2.3擴(kuò)充的實體-聯(lián)系模型2.3.1IsA聯(lián)系2.3.1ISA聯(lián)系用E-R方法構(gòu)建一個項目的模型時,經(jīng)常會遇到某些實體型是其他實體型的子類型。子類型聯(lián)系又叫做IsA聯(lián)系。IsA聯(lián)系一個最重要的性質(zhì)是,子類型實體型繼承了父類型實體型的所有屬性。當(dāng)然,子類型實體型也可以有自己的屬性。

學(xué)生本科生研究生研究領(lǐng)域?qū)焾D2.20學(xué)生的兩個子類型

2.3.1ISA聯(lián)系用E-R方法構(gòu)建一個項目的模型時,經(jīng)2.3.1ISA聯(lián)系(續(xù))IsA聯(lián)系描述了對一個實體型中的實體的一種分類方法。分類屬性

學(xué)生本科生研究生研究領(lǐng)域?qū)燁悇e圖2.21分類屬性

分類屬性是父實體型的一個屬性,可以根據(jù)這個屬性的值把父實體型中的實體分派到子實體型中。圖2.21中,在子類型符號的右邊加了一個分類屬性“類別”,它說明,一個學(xué)生是研究生還是本科生由該屬性的值決定。

2.3.1ISA聯(lián)系(續(xù))IsA聯(lián)系描述了對一個實體型中2.3.1ISA聯(lián)系(續(xù))不相交約束不相交約束說明了父實體型中的一個實體是否能同時是多個子實體型中的實體,如果可以的話,則子類型實體型相容,否則,子實體型互斥。圖2.22中,在子類型符號中增加了一個叉號表明一個學(xué)生不能既是本科生又是研究生,即子類型實體型本科生和研究生是互斥的。如果沒有叉號則表示是相容的。

學(xué)生本科生研究生研究領(lǐng)域?qū)燁悇e叉號圖2.22互斥子類型實體

2.3.1ISA聯(lián)系(續(xù))不相交約束學(xué)生本科生研究生研究2.3.1ISA聯(lián)系(續(xù))完備性約束完備性約束約定是否是父實體型中的一個實體必須是在某一個子類型實體型中的實體,如果是,則叫做完全特化,否則,叫做部分特化。完備性約束可以用文字加以說明。2.3.1ISA聯(lián)系(續(xù))完備性約束2.3擴(kuò)充的實體聯(lián)系模型

2.3.1IsA聯(lián)系

2.3.2part-of聯(lián)系

2.3擴(kuò)充的實體聯(lián)系模型2.3.1IsA聯(lián)系2.3.2part-of聯(lián)系part-of聯(lián)系即部分聯(lián)系,它表明某個實體型是另外一個實體型的一部分。非獨占聯(lián)系即使整體被破壞,整體的部分仍然可以獨立存在。非獨占聯(lián)系在E-R圖中沒有特殊的表示,可以通過基數(shù)約束表達(dá)非獨占聯(lián)系。

2.3.2part-of聯(lián)系part-of聯(lián)系2.3.2part-of聯(lián)系(續(xù))例如,汽車實體型和輪子實體型之間的聯(lián)系即為part-of聯(lián)系,一輛汽車被銷毀了,但是輪子還可以存在,甚至被安裝到其他的汽車上。汽車輪子4擁有0..1編號編號尺寸生產(chǎn)廠家圖2.23用參與聯(lián)系表示非獨占聯(lián)系

2.3.2part-of聯(lián)系(續(xù))例如,汽車實體型2.3.2part-of聯(lián)系(續(xù))與非獨占聯(lián)系相反,在E-R圖中用弱實體類型和識別聯(lián)系的特殊方法表示獨占聯(lián)系。如果一個實體型的存在依賴于其他實體型的存在,則這個實體型叫做弱實體型,否則叫做強實體型。一般來講,如果不能從一個實體型的屬性中找出可以作為碼的屬性,則這個實體型是弱實體型。在E-R圖中用雙矩形表示弱實體型,用雙菱型表示識別聯(lián)系。2.3.2part-of聯(lián)系(續(xù))與非獨占聯(lián)系相反,在E2.3.2part-of聯(lián)系(續(xù))假設(shè)從銀行貸了一筆款用于購房,這筆款項一次貸出,分期歸還。還款就是一個弱實體,貸款還款還貸金額日期序號貸款號金額圖2.24弱實體型和識別聯(lián)系2.3.2part-of聯(lián)系(續(xù))假設(shè)從銀行貸了一筆款用2.3.2part-of聯(lián)系(續(xù))再看房間和樓房的聯(lián)系。房間是一個弱實體。樓房房間擁有樓號樓號房間號圖2.25ID依賴實體

2.3.2part-of聯(lián)系(續(xù))再看房間和樓房的聯(lián)系。第2章實體聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體聯(lián)系模型

2.3擴(kuò)充的實體聯(lián)系模型

2.4小結(jié)第2章實體聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.4小結(jié)實體聯(lián)系模型的基本概念和圖示方法實體型聯(lián)系型屬性兩個實體型之間的一對一、一對多和多對多聯(lián)系基數(shù)約束的含義基數(shù)約束的圖示方法E-R模型中IsA和part-of關(guān)系的表達(dá)方法2.4小結(jié)實體聯(lián)系模型的基本概念和圖示方法2.4小結(jié)(續(xù))E-R模型用實體表示現(xiàn)實世界中的物體具有相同性質(zhì)的實體構(gòu)成了實體型實體型有一個名字和一組屬性屬性用于描述實體的性質(zhì)和特征屬性由名字和域組成域規(guī)定了屬性能取什么樣的值單值屬性多值屬性復(fù)合屬性2.4小結(jié)(續(xù))E-R模型2.4小結(jié)(續(xù))聯(lián)系型用于描述實體型之間的關(guān)系每個聯(lián)系型有一個名稱一般用動詞或動詞短語作為聯(lián)系型的名稱聯(lián)系是聯(lián)系型的實例具體描述了參與聯(lián)系的實體型中實體之間的關(guān)系一元聯(lián)系、二元聯(lián)系、三元聯(lián)系和多元聯(lián)系基數(shù)約束2.4小結(jié)(續(xù))聯(lián)系型2.4小結(jié)(續(xù))IsA聯(lián)系是對實體的一種分類方法。E-R模型用弱實體表達(dá)獨占part-of聯(lián)系弱實體2.4小結(jié)(續(xù))IsA聯(lián)系

下課了。。。追求休息一會兒。。。下課了。。。追求休息一會兒。。。數(shù)據(jù)庫技術(shù)基礎(chǔ)第2章實體-聯(lián)系模型數(shù)據(jù)庫技術(shù)基礎(chǔ)第2章實體-聯(lián)系模型第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體-聯(lián)系模型

2.3擴(kuò)充的實體-聯(lián)系模型

2.4小結(jié)第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)第2章實體-聯(lián)系模型(續(xù))圖2.1樓盤模擬圖

圖2.2房屋平面圖模型是現(xiàn)實世界特征的模擬和抽象。

第2章實體-聯(lián)系模型(續(xù))圖2.1樓盤模擬圖圖2.22.1學(xué)習(xí)目標(biāo)學(xué)完本章后,讀者應(yīng)具備以下能力:了解模型的概念。理解實體-聯(lián)系模型的表示方法。2.1學(xué)習(xí)目標(biāo)學(xué)完本章后,讀者應(yīng)具備以下能力:第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體-聯(lián)系模型

2.3擴(kuò)充的實體-聯(lián)系模型

2.4小結(jié)第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體-聯(lián)系模型概念模型的用途概念模型用于信息世界的建模。是現(xiàn)實世界到機器世界的一個中間層次。是數(shù)據(jù)庫設(shè)計的有力工具。數(shù)據(jù)庫設(shè)計人員和用戶之間進(jìn)行交流的語言。對概念模型的基本要求較強的語義表達(dá)能力。能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識。簡單、清晰,易于用戶理解。2.2基本的實體-聯(lián)系模型概念模型的用途2.2基本的實體-聯(lián)系模型(續(xù))

2.2.1基本概念

2.2.2幾點說明

2.2基本的實體-聯(lián)系模型(續(xù))2.2.1基本2.2.1基本概念(1)實體(Entity)在實體聯(lián)系模型中,用實體表示現(xiàn)實世界中某一個具體的事物。實體可以是具體的人、事、物或抽象的概念。(2)實體型(EntityType)具有相同性質(zhì)的實體組成了一個實體型。每個實體型要有一個名字,一般用名詞表示。(3)屬性(Attribute)表示實體型的特點或性質(zhì)。一個實體可以由若干個屬性來刻畫。1.實體和實體型(續(xù))2.2.1基本概念(1)實體(Entity)1.實2.2.1基本概念(續(xù))復(fù)合屬性可以進(jìn)一步細(xì)分的屬性。簡單屬性不可以進(jìn)一步細(xì)分的屬性。單值屬性實體型中所有實體在某個屬性上只取一個值的屬性。多值屬性實體在屬性上取多個值的屬性。派生屬性從其他屬性經(jīng)過計算得到的屬性。1.實體和實體型(續(xù))2.2.1基本概念(續(xù))復(fù)合屬性1.實體和實體型(續(xù))2.2.1基本概念(續(xù))(4)域(Domain)屬性的取值范圍稱為該屬性的域。(5)碼(Key)唯一標(biāo)識實體的屬性集稱為碼。除了唯一性之外,碼的第二個特點是最小性。最小性是指從碼中去掉任何一個屬性后就不再具有唯一性。1.實體和實體型(續(xù))2.2.1基本概念(續(xù))(4)域(Domain)1.2.2.1基本概念(續(xù))超級碼(SuperKey)包含關(guān)鍵字的屬性組叫做超級碼,具有唯一性,但不具有最小性。主碼(PrimaryKey)如果一個實體型有多個碼,則要從中選取一個作為實體型的碼,被選中的關(guān)鍵字叫做主碼。候選碼(CandidateKey)其他的碼叫做候選碼。1.實體和實體型(續(xù))2.2.1基本概念(續(xù))超級碼(SuperKey)1.2.2.1基本概念(續(xù))例如:學(xué)生實體型具有學(xué)號、姓名、性別、院系、出生日期、入學(xué)日期和獎勵屬性,其E-R圖如圖2.3所示。學(xué)生學(xué)號姓名性別院系出生日期入學(xué)日期獎勵圖2.3學(xué)生實體型和屬性

從圖中可以看出,實體型的名稱是學(xué)生,學(xué)號是碼,獎勵屬性是一個多值屬性(因為一個學(xué)生可以沒有獲得任何獎勵,或者獲得一到多個獎勵)。

1.實體和實體型(續(xù))2.2.1基本概念(續(xù))例如:學(xué)生實體型具有學(xué)號、姓名、性2.2.1基本概念(續(xù))(1)聯(lián)系型用于在實體型之間表示物體之間的聯(lián)系。聯(lián)系型要有名稱,一般用動詞或動詞短語作為聯(lián)系型的名稱。在E-R圖中用菱形表示聯(lián)系型,菱形框內(nèi)寫明聯(lián)系型的名稱,并用無向邊分別與相關(guān)聯(lián)的實體型連接起來。例如,學(xué)生和班級實體型之間存在一個聯(lián)系型,取名為“隸屬于”,描述了學(xué)生和班級之間的關(guān)系,如圖2.4所示。學(xué)生班級隸屬于圖2.4用菱形表示聯(lián)系型

2.聯(lián)系和聯(lián)系型n12.2.1基本概念(續(xù))(1)聯(lián)系型學(xué)生班級隸屬于圖2.2.1基本概念(續(xù))(2)聯(lián)系是聯(lián)系型的一個實例。聯(lián)系型“從屬于”的實例(即聯(lián)系)就是班級花名冊。可以用圖和表來表示聯(lián)系。圖2.5表示學(xué)生S1、S2和S3屬于班級C1,學(xué)生S4和S5屬于班級C2,或者說班級C1中有S1、S2和S3三個學(xué)生,班級C2中有S4和S5兩個學(xué)生。S1S2S3S4S5C1C2姓名班級S1C1S2S3S4C2S5圖2.5聯(lián)系的兩種表示方法:圖和表

2.聯(lián)系和聯(lián)系型(續(xù))2.2.1基本概念(續(xù))(2)聯(lián)系S1S2S3S4S5C2.2.1基本概念(續(xù))課程選修學(xué)生mn成績聯(lián)系的屬性聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。例如,在學(xué)校中,一個學(xué)生要選修一些課程,學(xué)習(xí)完一門課程后會有一個學(xué)習(xí)成績。學(xué)生與課程之間的聯(lián)系型“選修”有一個屬性:成績,如圖2.6所示。圖2.6聯(lián)系型的屬性

2.2.1基本概念(續(xù))課程選修學(xué)生mn成績聯(lián)系的屬性圖22.2.1基本概念(續(xù))聯(lián)系型“選修”的實例是學(xué)生成績表,如表2.1所示。表2.1學(xué)生成績表學(xué)號課程號成績20070121156802007113115689200725611569320070141156882007012102480………………2.2.1基本概念(續(xù))聯(lián)系型“選修”的實例是學(xué)生成績表,2.2.1基本概念(續(xù))一個聯(lián)系型所關(guān)聯(lián)的實體型的個數(shù)叫做聯(lián)系型的度。只關(guān)聯(lián)到一個實體型的聯(lián)系型叫做一元聯(lián)系型,有二個實體型參與的聯(lián)系型叫做二元聯(lián)系型,依此類推。圖2.4和2.6是二元聯(lián)系型,圖2.7(a)是三元聯(lián)系型,圖2.7(b)是一元聯(lián)系型。教師學(xué)生課程教學(xué)學(xué)生領(lǐng)導(dǎo)同學(xué)班長學(xué)生領(lǐng)導(dǎo)(a)(b)(c)圖2.7一元和三元聯(lián)系型

2.2.1基本概念(續(xù))一個聯(lián)系型所關(guān)聯(lián)的實體型的個數(shù)叫做2.2.1基本概念(續(xù))實體型A聯(lián)系名實體型B111:1聯(lián)系實體型A聯(lián)系名1n1:n聯(lián)系實體型A實體型B聯(lián)系名mnm:n聯(lián)系實體型B用圖形來表示兩個實體型之間的這三類聯(lián)系

3.聯(lián)系的分類2.2.1基本概念(續(xù))實體型A聯(lián)系名實體型B111:12.2.1基本概念(續(xù))一對一聯(lián)系(1:1)實例一個學(xué)生只有一個學(xué)生證,一個學(xué)生證只對應(yīng)一個學(xué)生。定義:如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1。學(xué)生擁有學(xué)生證111:1聯(lián)系3.聯(lián)系的分類(續(xù))2.2.1基本概念(續(xù))一對一聯(lián)系(1:1)學(xué)生擁有2.2.1基本概念(續(xù))一對多聯(lián)系(1:n)實例一個班級中有若干名學(xué)生,每個學(xué)生只屬于一個班級。定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B具有一對多聯(lián)系,記為1:n。班級隸屬于

學(xué)生1n1:n聯(lián)系3.聯(lián)系的分類(續(xù))2.2.1基本概念(續(xù))一對多聯(lián)系(1:n)班級隸屬于學(xué)2.2.1基本概念(續(xù))多對多聯(lián)系(m:n)實例課程與學(xué)生之間的聯(lián)系:一門課程同時有若干個學(xué)生選修,一個學(xué)生可以同時選修多門課程。定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n。課程選修學(xué)生mnm:n聯(lián)系成績3.聯(lián)系的分類(續(xù))2.2.1基本概念(續(xù))多對多聯(lián)系(m:n)課程選修學(xué)生2.2.1基本概念(續(xù))基數(shù)約束基數(shù)約束是為了更精確地描述實體型的一個實體可以在一個聯(lián)系中出現(xiàn)的次數(shù)而引入的概念?;鶖?shù)約束用一個數(shù)對min..max表示0≤min≤max。強制參與約束min=1的約束。非強制參與約束min=0的約束。被施加基數(shù)約束的實體型中的實體可以出現(xiàn)在聯(lián)系中,也可以不出現(xiàn)在聯(lián)系中。基數(shù)約束是上面敘述過的一對一、一對多、多對多聯(lián)系的細(xì)化。參與聯(lián)系的每個實體型要用基數(shù)約束說明實體型中的任何一個實體可以在聯(lián)系中出現(xiàn)的最少次數(shù)和最多次數(shù)。4.基數(shù)約束2.2.1基本概念(續(xù))基數(shù)約束4.基數(shù)約束2.2.1基本概念(續(xù))圖2.8-10的一對一、一對多、多對多聯(lián)系用基數(shù)約束表示為圖2.11所示。

1..11..1學(xué)生學(xué)生證擁有20..8020..30學(xué)生課程選修成績30..401..1班級學(xué)生擁有班級的約束學(xué)生的約束圖2.11一對一、一對多、多對多的基數(shù)約束表示方法

4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))圖2.8-10的一對一、一對多、多2.2.1基本概念(續(xù))但在三元聯(lián)系或多元聯(lián)系中,基數(shù)約束要靠近需要施加約束的實體型,如圖2.12所示。1..31..*20..30教師學(xué)生課程教學(xué)時間成績教師約束課程約束學(xué)生約束圖2.12三元聯(lián)系的基數(shù)約束的表示方法

4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))但在三元聯(lián)系或多元聯(lián)系中,基數(shù)約束2.2.1基本概念(續(xù))關(guān)聯(lián)實體型

當(dāng)E-R圖輔助制圖工具不支持二元以上的聯(lián)系時,需要將三元聯(lián)系轉(zhuǎn)換為三個二元聯(lián)系和一個關(guān)聯(lián)實體型。轉(zhuǎn)換步驟將原來的聯(lián)系型及其屬性轉(zhuǎn)換為一個關(guān)聯(lián)實體型。將原來施加到實體型的各個基數(shù)約束移動到靠近關(guān)聯(lián)實體型給原來的各個實體型施加1..1基數(shù)約束,如圖2.13所示。4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))關(guān)聯(lián)實體型4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))圖2.13給出了一個例子。1..31..*20..30教師學(xué)生課程教學(xué)時間成績111圖2.13關(guān)聯(lián)實體型

4.基數(shù)約束(續(xù))2.2.1基本概念(續(xù))圖2.13給出了一個例子。1..2.2基本的實體-聯(lián)系模型

2.2.1基本概念

2.2.2幾點說明

2.2基本的實體-聯(lián)系模型2.2.1基本概念2.2.2幾點說明多值屬性和復(fù)合多值屬性經(jīng)常被表示成一個聯(lián)系型。

[例2.1]實體型課程具有課程編號、名稱和預(yù)備課程三個屬性,如圖2.14(a)所示。一門課程可能有也可能沒有預(yù)備課程,可能有一門也可能有多門預(yù)備課程,所以,預(yù)備課程是一個多值屬性。由于預(yù)備課程也是實體型課程的實體,因此,可以把預(yù)備課程更改為一個聯(lián)系型,如圖2.14(b)所示。

(a)課程編號名稱預(yù)備課程課程編號名稱先修于預(yù)備課后續(xù)課程**(b)圖2.14多值屬性和聯(lián)系型

1.屬性和聯(lián)系2.2.2幾點說明多值屬性和復(fù)合多值屬性經(jīng)常被表示成一個聯(lián)2.2.2幾點說明(續(xù))[例2.2]圖2.3的學(xué)生實體型有一個多值屬性-獎勵。一個學(xué)生可以獲得零到多項獎勵,每項獎勵由獎勵日期和獎勵名稱組成,因此,獎勵屬性還是一個復(fù)合屬性??梢苑抡绽?.1,把該屬性處理成一個聯(lián)系型,名稱為“擁有”,如圖2.15所示。為清楚起見,沒有畫出學(xué)生實體型的所有的屬性。

*1姓名學(xué)生學(xué)號擁有獎勵名稱日期圖2.15多值復(fù)合屬性和聯(lián)系型

1.屬性和聯(lián)系(續(xù))2.2.2幾點說明(續(xù))[例2.2]圖2.3的學(xué)生實體型2.2.2幾點說明(續(xù))

[例2.3]如圖2.3,學(xué)生實體型有屬性院系,表示一個學(xué)生在哪個院系學(xué)習(xí)。院系是另外一個實體型,因此,比較清楚的表示方法是去掉學(xué)生實體型中的屬性院系,建立與實體型院系之間的聯(lián)系,如圖2.16所示。

1*名稱學(xué)生學(xué)號就讀于院系名稱編號圖2.16屬性轉(zhuǎn)換為聯(lián)系型

1.屬性和聯(lián)系(續(xù))2.2.2幾點說明(續(xù))[例2.3]如圖2.3,2.2.2幾點說明(續(xù))[例2.4]在學(xué)校中,為了便于管理,一般是由后勤部門把地點相對集中的若干個宿舍分配給一個院系,再由院系根據(jù)班級等因素給學(xué)生分派宿舍。在這個例子中有三個實體型:學(xué)生、院系、宿舍,那么有幾個聯(lián)系呢?應(yīng)該有學(xué)生“就讀于”院系,宿舍“分配給”院系,學(xué)生“使用”宿舍三個聯(lián)系,如圖2.17所示。2.遺漏聯(lián)系2.2.2幾點說明(續(xù))[例2.4]在學(xué)校中,為2.2.2幾點說明(續(xù))1*名稱學(xué)生學(xué)號就讀于院系名稱編號*1分配給宿舍地址編號使用1*圖2.17遺漏聯(lián)系

2.2.2幾點說明(續(xù))1*名稱學(xué)生學(xué)號就讀于院系名稱編號2.2.2幾點說明(續(xù))E-R模型沒有明確地表達(dá)世界的變化,可以把它理解為現(xiàn)實世界的快照,即某個時刻的一張照片。但實際使用中有時需要清晰地表達(dá)時間的概念,可以采用一些方法加以補救。[例2.5]考慮產(chǎn)品的價格。大家知道,由于市場的變化,產(chǎn)品的價格處于不斷波動中。如果要記錄下產(chǎn)品價格變化的歷史情況,E-R圖應(yīng)該怎樣畫?3.時間戳2.2.2幾點說明(續(xù))E-R模型沒有明確地表達(dá)世界的變2.2.2幾點說明(續(xù))(b)(a)價格產(chǎn)品編號產(chǎn)品價格歷史編號價格有效時間圖2.18時間的處理方法

2.2.2幾點說明(續(xù))(b)(a)價格產(chǎn)品編號產(chǎn)品價格歷2.2.2幾點說明(續(xù))教師講授課程*1..*認(rèn)證0..11..3學(xué)期教師和課程之間有兩個聯(lián)系:教師有資格講授課程,說明教師獲得了講授某門課程的資格;教師講授課程,描述教師在某學(xué)期講授一門課程。如圖2.19所示,一位教師有資格講授至少一門課程,一門課程可以有多位有資格講授的教師。在某個學(xué)期,一位教師可以不講課,或者講授一門課程,一門課程由一到三位教師講授。

圖2.19實體型之間的多個聯(lián)系4.實體型之間的多種聯(lián)系2.2.2幾點說明(續(xù))教師講授課程*1..*認(rèn)證0..第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.2基本的實體-聯(lián)系模型

2.3擴(kuò)充的實體-聯(lián)系模型

2.4小結(jié)第2章實體-聯(lián)系模型2.1學(xué)習(xí)目標(biāo)2.3擴(kuò)充的實體-聯(lián)系模型

2.3.1IsA聯(lián)系

2.3.2part-of聯(lián)系

2.3擴(kuò)充的實體-聯(lián)系模型2.3.1IsA聯(lián)系2.3.1ISA聯(lián)系用E-R方法構(gòu)建一個項目的模型時,經(jīng)常會遇到某些實體型是其他實體型的子類型。子類型聯(lián)系又叫做IsA聯(lián)系。IsA聯(lián)系一個最重要的性質(zhì)是,子類型實體型繼承了父類型實體型的所有屬性。當(dāng)然,子類型實體型也可以有自己的屬性。

學(xué)生本科生研究生研究領(lǐng)域?qū)焾D2.20學(xué)生的兩個子類型

2.3.1ISA聯(lián)系用E-R方法構(gòu)建一個項目的模型時,經(jīng)2.3.1ISA聯(lián)系(續(xù))IsA聯(lián)系描述了對一個實體型中的實體的一種分類方法。分類屬性

學(xué)生本科生研究生研究領(lǐng)域?qū)燁悇e圖2.21分類屬性

分類屬性是父實體型的一個屬性,可以根據(jù)這個屬性的值把父實體型中的實體分派到子實體型中。圖2.21中,在子類型符號的右邊加了一個分類屬性“類別”,它說明,一個學(xué)生是研究生還是本科生由該屬性的值決定。

2.3.1ISA聯(lián)系(續(xù))IsA聯(lián)系描述了對一個實體型中2.3.1ISA聯(lián)系(續(xù))不相交約束不相交約束說明了父實體型中的一個實體是否能同時是多個子實體型中的實體,如果可以的話,則子類型實體型相容,否則,

溫馨提示

  • 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

提交評論