版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第 三 章ER Model實體關(guān)係圖,課程名稱:資料庫系統(tǒng),本章學(xué)習(xí)目標,1.讓讀者瞭解何謂實體關(guān)係模式(Entity-Relation Model)。2.讓讀者瞭解如何將設(shè)計者與使用者訪談的過程 記錄(情境)轉(zhuǎn)換成E-R圖。3.讓讀者瞭解如何將ER圖轉(zhuǎn)換成資料庫,以利 資料庫程式設(shè)計所需要的資料來源。,本章內(nèi)容,3-1 實體關(guān)係模式的概念3-2 實體(Entity)3-3 屬性(Attribute)3-4 關(guān)係(R
2、elationship)3-5 情境轉(zhuǎn)換成E-R Model3-6 將ER圖轉(zhuǎn)換成對應(yīng)表格的法則,前言,在開發(fā)資料庫系統(tǒng)時,首要的工作是先做資料庫的分析,在做資料庫分析工作時,需要先與使用者進行需求訪談,藉由訪談的過程來了解使用者對資料庫的需求,以便讓資料庫設(shè)計師來設(shè)計符合企業(yè)所需要的資料庫。 在需求訪談過程中,資料庫設(shè)計者會將使用者對資料的需求製作成規(guī)格書,這個規(guī)格書可以是用文字或符號來表達,然而,一般設(shè)計者會以雙
3、方較容易了解的圖形符號形式的規(guī)格書來呈現(xiàn),並輔助一些詳盡描述的說明文件。圖形符號的規(guī)格書有許多種方法表現(xiàn),一般最常被使用的就是E-R圖(Entity Relationship Diagram,又稱實體關(guān)係圖)。,3-1 實體關(guān)係模式的概念,【定義】實體關(guān)係模式(Entity-Relation Model)? 它是用來描述「實體」與「實體」之間關(guān)係的工具?!緦嶓w】是指用以描述真實世界的物件?!纠?】學(xué)生、員工、產(chǎn)品
4、等等都是屬於實體?!纠?】在實務(wù)需求上我們可以將「實體」轉(zhuǎn)換成各種資料表: 學(xué)生實體?學(xué)生資料表 員工實體?員工資料表 產(chǎn)品實體?產(chǎn)品資料表 《轉(zhuǎn)換規(guī)則》ch3-6詳細介紹。【關(guān)係】是指用來表示「一個實體」與「另一個實體」關(guān)聯(lián)的方式。【例如】一對一關(guān)係、一對多關(guān)係、多對多關(guān)係。,「實體關(guān)係
5、模式」是利用「圖形化」的表示法,可以很容易的被一般非技術(shù)人員所了解。因此,「實體關(guān)係模式」可視為設(shè)計者與使用者溝通的工具與橋樑。 基本上,實體(Entity)與關(guān)係(Relation)是用來將事物加以模式化,並且以「圖形」表示的方式來顯示語意。如下表所示。,ER圖的符號表,,,,,,,,,【實例】假設(shè)資料庫設(shè)計者與使用者進行訪談之後,描述了一段事實「情境」的需求如下:1. 每一位客戶可以下一張以上的訂單,也可以沒有下
6、訂單,2. 但是,每一張訂單一定會有一位客戶的下單資料。請將以上的「情境」轉(zhuǎn)換成E-R圖。說明:一個「實體」在關(guān)聯(lián)式資料庫中視為一個「資料表」,對於一個 實體而言,它可以含有多個「屬性」(Attribute)用以描述該實體, 在關(guān)聯(lián)式資料庫中,則以資料表的「欄位」來表示。,3-2 實體(Entity),實體(Entity)是用以描述真實世界的物件?;旧?,實體的定義
7、如下:【定義】 1.用來描述實際存在的事物(如:學(xué)生), 也可以是邏輯抽象的概念(如:課程)。 2.必須可以被識別,亦即能夠清楚分辨出兩個不同的實體。 3.實體都是以「名詞」的型式來命名,不可以是「形容詞」或「動詞」。【例如】學(xué)生、員工及產(chǎn)品?!痉诸悺?1.強實體(strong entity) 2.弱實體(weak entity),3-2.1 強實體(Strong Entity),【定義】 是指不需要
8、依附其他實體而存在的實體。也就是說,真實世界中獨立 存在的一切事物,可以是實際存在的物品,也可以是概念性的事物?!纠纭繉W(xué)生、課程【表示圖形】以長方形表示,,3-2.2 弱實體(Weak Entity ),【定義】 是指需要依賴其他實體而存在的實體?!纠纭拷搪殕T的眷屬或課程的上課教室【表示圖形】雙同心長方形表示,,3-3 屬性(Attribute),【定義】用來描述實體的性質(zhì)(Property)?!纠纭繉W(xué)
9、號、姓名、性別是用來描述學(xué)生實體的性質(zhì)?!痉诸悺?1.簡單屬性(simple attribute) 2.複合屬性(composite attribute),3-3.1 簡單屬性(simple attribute),【定義】指已經(jīng)不能再細分為更小單位的屬性?!纠纭俊笇W(xué)號」屬性便是「簡單屬性」?!颈硎緢D形】簡單屬性/單值屬性都是以「橢圓形」方式表示,,3-3.2 複合屬性(Composite attribute),
10、【定義】屬性是由兩個或兩個以上的其他屬性的值所組成,並且代表 未來該屬性可以進一步作切割?!纠纭俊傅刂贰箤傩允怯蓞^(qū)域號碼、縣市、鄉(xiāng)鎮(zhèn)、路、巷、弄、號等 各個屬性所組成?!颈硎緢D形】複合屬性表示方式如下:,,3-3.3 鍵屬性(Key attribute),【定義】是指該屬性的值在某個環(huán)境下具有唯一性?!纠纭繉W(xué)號屬性稱為「鍵(Key)」?!颈硎緢D形】以「橢圓形」內(nèi)
11、的屬性名稱加底線方式表示如下:【特性】1.在實體關(guān)係圖(E-R Diagram)當中,我們會在鍵屬性的名稱底下加 一條底線表示之。2.有些實體型態(tài)的鍵屬性不只一個。例如:在『學(xué)生』這個實體型態(tài) 裡面,學(xué)生的『身份證字號』及『學(xué)號』都具有唯一性,都可以是 鍵屬性。,,【隨堂練習(xí)】,假設(shè)有一個學(xué)生(實體),它五個屬性,分別為學(xué)號、姓名、性別、身份證字號與地址。請繪出該學(xué)生的實體與屬性圖。,【隨堂練習(xí)】解答,
12、假設(shè)有一個學(xué)生(實體),它五個屬性,分別為學(xué)號、姓名、性別、身份證字號與地址。請繪出該學(xué)生的實體與屬性圖?!窘獯稹空f明:對於實體與屬性各有指定的表示方法。 (1)實體以「長方形」表示。 (2)屬性則是以「橢圓形」表示。,3-3.4 單值屬性(single-valued attribute),【定義】是指屬性中只會存在一個單一值?!纠纭棵總€學(xué)生只會有一個學(xué)號,因此學(xué)號就
13、是「單值屬性」。【表示圖形】簡單屬性/單值屬性都是以「橢圓形」方式表示如下:,,3-3.5 多值屬性(Multi-valued attribute),【定義】指屬性中會存在多個數(shù)值?!纠纭繉W(xué)生的「電話」屬性可能包含許多電話號碼。【表示圖形】以「雙邊線的橢圓形」方式表示如下:,,3-3.6 衍生屬性(Derived attribute),【定義】指可由其他屬性或欄位計算而得的屬性,即某一個屬性的值是
14、 由其他屬性的值推演而得?!纠纭恳詫嶋H的「年齡」表示,我們可以由目前的系統(tǒng)時間減去生日 屬性的值,便可換算出「年齡」屬性的值;因此,年齡屬性便 屬於衍生屬性。【表示圖形】以「虛線橢圓形」方式表示如下:,,【隨堂練習(xí)】,假設(shè)有一個學(xué)生(實體),它五個屬性,分別為學(xué)號、姓名、電話、年齡與地址。請繪出該學(xué)生的實體與屬性圖。,【隨堂練習(xí)】 解答,假設(shè)有一個學(xué)生(實體),它
15、五個屬性,分別為學(xué)號、姓名、電話、年齡與地址。請繪出該學(xué)生的實體與屬性圖?!窘獯稹空f明:對於實體與屬性各有指定的表示方法。 (1)實體以「長方形」表示。 (2)屬性則是以「橢圓形」表示。,3-4 關(guān)係(Relationship),【定義】是指用來表達兩個實體之間所隱含的關(guān)聯(lián)性?!娟P(guān)係命名規(guī)則】使用足以說明關(guān)聯(lián)性質(zhì)的「動詞」或「動詞片語」命名。【例如】『學(xué)生』與『系所』
16、兩個實體型態(tài)間存在著一種關(guān)係─「就讀於」?!颈硎緢D形】以「菱形」方式表示如下:,,【隨堂練習(xí)】,試根據(jù)以下E-R模式,將關(guān)係的動詞填入,並簡述其意義所在。,【隨堂練習(xí)】,試根據(jù)以下E-R模式,將關(guān)係的動詞填入。【解答】,3-4.1 關(guān)係的基數(shù)性(cardinality),【定義】關(guān)係還具有「基數(shù)性」,代表實體所能參與關(guān)係的案例數(shù)?!颈硎痉绞健炕旧?,可分為三大類來表示:一、利用「比率關(guān)係」來表示二、利用「雞爪圖基數(shù)性」來表示
17、三、利用「基數(shù)限制條件」來表示,,,1.一對一的關(guān)係(1:1): 表示兩個實體之間的關(guān)係是一對一的關(guān)係。2.一對多的關(guān)係(1:M):表示兩個實體之間的關(guān)係是一對多的關(guān)係。3.多對一的關(guān)係(M:1):表示兩個實體之間的關(guān)係是多對一的關(guān)係。4.多對多的關(guān)係(M:N):表示兩個實體之間的關(guān)係是多對多的關(guān)係。,,,一、利用「比率關(guān)係」來表示:,,,,,1.一對一的關(guān)係(1:1): 表示兩個實體之間的關(guān)係是一對一的關(guān)係。
18、 說明:一個A實體會對應(yīng)到一個B實體。 【對應(yīng)關(guān)係圖】,,,1.一對一的關(guān)係(1:1),,,【舉例】假設(shè)每一位老師僅能分配一間研究室,並且每一間研究室只能 被一位老師使用?!緦?yīng)關(guān)係圖】說明:每一位老師會對應(yīng)到每一間研究室。,,,,,2.一對多的關(guān)係(1:M):表示兩個實體之間的關(guān)係是一對多的關(guān)係。 說明:一個A實體會對應(yīng)到多個B實體。 【對應(yīng)關(guān)係圖】
19、說明:A3實體對應(yīng)B3與B4兩個實體,,,2.一對多的關(guān)係(1:M),,,,,【舉例】假設(shè)每一位教授可以同時指導(dǎo)多位研究生,但每一位研究生只 能有一位指導(dǎo)教授,不可以有共同指導(dǎo)現(xiàn)象?!緦?yīng)關(guān)係圖】說明:每一位教授可以指導(dǎo)多位研究生,但每一位研究生只能有一位指導(dǎo)教授。例如:T3教授同時指導(dǎo)S3與S4兩位研究生。但S1~S4只能找一位教授指導(dǎo)。,,,,,,,【隨堂練習(xí)】
20、請您再舉三個(1:M)的例子,並利用「比率關(guān)係」來繪出ER圖?!咎崾尽?1.客戶與訂單 2.員工與眷屬 3.學(xué)生與考試,,,,,【隨堂練習(xí)】 請您再舉三個(1:M)的例子,並繪出ER圖?!窘獯稹?1.每一個客戶可以「下」多張訂單 2.每一個員工可以「扶養(yǎng)」多位眷屬 3.每一個學(xué)生可以「參加」多次考試注意:如果只針對一個學(xué)生情況時(1:M),但是,如果針對全班學(xué)生時
21、, 則「學(xué)生」與「考試」的關(guān)係為(M:N),,,,,3.多對一的關(guān)係(M:1):表示兩個實體之間的關(guān)係是多對一的關(guān)係。 說明:一個B實體會對應(yīng)到多個A實體。 【對應(yīng)關(guān)係圖】說明:B3實體對應(yīng)到A3與A4兩個實體,,,3.多對一的關(guān)係(M:1),,,,,,,【舉例】假設(shè)某一個國家型計畫,必須要由多位教授來共同主持一個國 科會總計畫【對應(yīng)關(guān)係圖】
22、說明: T3與T4兩位教授同時主持一件國科會總計畫案。,,,,,,,,,4.多對多的關(guān)係(M:N):表示兩個實體之間的關(guān)係是多對多的關(guān)係。 說明:多個A實體會對應(yīng)到多個B實體。 【對應(yīng)關(guān)係圖】說明:A1、A2及A3三個實體對應(yīng)一個B1實體,並且B1,B2及B3三個實體對應(yīng) 一個A3實體,,,4.多對多的關(guān)係(M:N),,,,,,,,,【舉例】假設(shè)每一位教授可以申請國科會多項
23、計畫,並且每一項計畫也 可以由多位教授來共同申請?!緦?yīng)關(guān)係圖】說明:T3教授申請P1,P2及P3三項計畫,並且P1計畫被T1,T2及T3三位教授共 同申請。,,,,,,,,,,,【隨堂練習(xí)】 請您再舉三個(M:N)的例子,並利用「比率關(guān)係」來繪出ER圖?!咎崾尽?1.客戶與零件 2.學(xué)生與課程 3.訂單與產(chǎn)品,,,,,【隨堂練習(xí)
24、】 請您再舉三個(M:N)的例子,並繪出ER圖。【解答】 1.每一個客戶可以「購買」多個零件,並且每一個零件可以被多位 客戶來預(yù)訂。 2.每一位學(xué)生可以「選修」多門課程,並且每一個課程可以被多位 學(xué)生來選修。 3.每一張訂單可以「包含」多個產(chǎn)品,並且每一個產(chǎn)品可以被多張 訂單來訂。,,,,,1.強制單基數(shù):指一個實體參與其關(guān)係的案例數(shù)最少一個,最多也一個
25、。2. 強制多基數(shù):指一個實體參與其關(guān)係的案例數(shù)最少一個,最多有多個。3. 選擇單基數(shù):指一個實體參與其關(guān)係的案例數(shù)最少0個,最多有一個。4. 選擇多基數(shù):指一個實體參與其關(guān)係的案例數(shù)最少0個,最多有多個。,,,二、利用「雞爪圖基數(shù)性」來表示:,1.強制單基數(shù):指一個實體參與其關(guān)係的案例數(shù)最少一個,最多也一個。 說明:A實體參與B實體關(guān)係的案例數(shù)最少一個,最多也一個(亦即洽
26、 只有一個)?!九e例】假設(shè)每一位老師僅能分配一間研究室【實例】假設(shè)每一位老師僅能分配一間研究室,並且每一間研究室一定要被分 配給老師。,,,1.強制單基數(shù),2. 強制多基數(shù):指一個實體參與其關(guān)係的案例數(shù)最少一個,最多有多個。 說明:A實體參與B實體關(guān)係的案例數(shù)最少一個,最多有多個?!九e例】假設(shè)每一位教授至
27、少要指導(dǎo)一位研究生,也可以多位【實例】假設(shè)每一位教授至少要指導(dǎo)一位研究生,也可以多位,但每一位研究 生只能被一位教授指導(dǎo)。,,,2. 強制多基數(shù),3. 選擇單基數(shù):指一個實體參與其關(guān)係的案例數(shù)最少0個,最多有一個。 說明:A實體參與B實體關(guān)係的案例數(shù)最少0個,最多有一個?!九e例】假設(shè)每一位老師分配一位助教,但也有可能沒有【實例】假設(shè)每一位老師分配一位
28、助教,但也有可能沒有,而每一位助 教一定只能被分配給一位老師,不能多位。,,3. 選擇單基數(shù),4. 選擇多基數(shù):指一個實體參與其關(guān)係的案例數(shù)最少0個,最多有多個。 說明:A實體參與B實體關(guān)係的案例數(shù)最少0個,最多有多個。【舉例】假設(shè)每一位教授可以申請國科會多項計畫,但也可以不申請【實例】假設(shè)每一位教授可以申請國科會多項計畫,但也可以不申請,
29、 而每一件計畫至少要有一位老師來申請。,,4. 選擇多基數(shù),【隨堂練習(xí)】 請您再舉三個(1:M)的例子,並利用「雞爪圖基數(shù)性」來繪出ER圖。【提示】 1.客戶與訂單 2.員工與眷屬 3.學(xué)生與考試,,,,,【隨堂練習(xí)】 請您再舉三個(1:M)的例子,並繪出ER圖?!窘獯稹?1.假設(shè)每一個客戶至少要「下」一張以上訂單,但是每一張訂單僅能 被一位客戶來下。
30、 2.假設(shè)每一個員工可以「扶養(yǎng)」多位眷屬,也可以沒有扶養(yǎng)。但是每 一個眷屬一定被一位員工來扶養(yǎng)。 3.假設(shè)每一位學(xué)生可以「參加」多次考試,不能缺考。並且每次考試 必須由學(xué)生親自來考。,,,,,【隨堂練習(xí)】 請您再舉三個(M:N)的例子,並利用「雞爪圖基數(shù)性」來繪出ER圖?!咎崾尽?1.客戶與零件 2.學(xué)生與課程 3.訂單與產(chǎn)品,,,,,【隨堂練習(xí)】
31、 請您再舉三個(M:N)的例子,並繪出ER圖。【解答】 1.每一個客戶可以「預(yù)訂」多個零件,也可以不訂。並且每一個零件 可以被多位客戶來預(yù)訂,也可以沒有被訂。 2.每一位學(xué)生可以「選修」至少要選一門以上課程,而每一個課程可 以被多位學(xué)生來選修,也可以沒有被選 3.每一張訂單可以「包含」至少有一項以上產(chǎn)品,並且每一個產(chǎn)品可 以被包含在多張訂單來訂,也可以沒有被訂
32、。,,,,,【定義】是指在關(guān)聯(lián)型態(tài)更進一步標示「實體」允許參與關(guān)聯(lián)的範圍?!痉诸悺?1,N)、(0,N)、(1,1)和(0,1) 1. (1,1) :指一個實體參與其關(guān)係的案例數(shù)最少一個,最多也一個。 2. (1,N):指一個實體參與其關(guān)係的案例數(shù)最少一個,最多有多個。 3. (0,1):指一個實體參與其關(guān)係的案例數(shù)最少0個,最多有一個。 4. (0,N):指一個實體參與其關(guān)係的案例數(shù)最少0個,最
33、多有多個。,,,三、利用「基數(shù)限制條件」來表示:,1. (1,1) :指一個實體參與其關(guān)係的案例數(shù)最少一個,最多也一個。 說明:A實體參與B實體關(guān)係的案例數(shù)最少一個,最多也一個(亦即洽 只有一個)。【舉例】假設(shè)每一位老師僅能分配一間研究室【實例】假設(shè)每一位老師僅能分配一間研究室,並且每一間研究室一定要被分
34、 配給老師。,,,基數(shù)限制條件:(1,1),2. (1,N):指一個實體參與其關(guān)係的案例數(shù)最少一個,最多有多個。 說明:A實體參與B實體關(guān)係的案例數(shù)最少一個,最多有多個?!九e例】假設(shè)每一位教授至少要指導(dǎo)一位研究生,也可以多位【實例】假設(shè)每一位教授至少要指導(dǎo)一位研究生,也可以多位,但每一位研究 生只能被一位教授指導(dǎo)。,,,基數(shù)限制條件:(1,N),3.
35、(0,1):指一個實體參與其關(guān)係的案例數(shù)最少0個,最多有一個。 說明:A實體參與B實體關(guān)係的案例數(shù)最少0個,最多有一個?!九e例】假設(shè)每一位老師分配一位助教,但也有可能沒有【實例】假設(shè)每一位老師分配一位助教,但也有可能沒有,而每一位助 教一定只能被分配給一位老師,不能多位。,,基數(shù)限制條件:(0,1),4. (0,N):指一個實體參與其關(guān)係的案例數(shù)最少0個,最
36、多有多個。 說明:A實體參與B實體關(guān)係的案例數(shù)最少0個,最多有多個。【舉例】假設(shè)每一位教授可以申請國科會多項計畫,但也可以不申請【實例】假設(shè)每一位教授可以申請國科會多項計畫,但也可以不申請, 而每一件計畫至少要有一位老師來申請。,,基數(shù)限制條件:(0,N),【隨堂練習(xí)】 請您再舉三個(1:M)的例子,並利用「基數(shù)限制條件」來繪出ER圖。【提示】
37、 1.客戶與訂單 2.員工與眷屬 3.學(xué)生與考試,,,,,【隨堂練習(xí)】 請您再舉三個(1:M)的例子,並繪出ER圖?!窘獯稹?1.假設(shè)每一個客戶至少要「下」一張以上訂單,但是每一張訂單僅能 被一位客戶來下。 2.假設(shè)每一個員工可以「扶養(yǎng)」多位眷屬,也可以沒有扶養(yǎng)。但是每 一個眷屬一定被一位員工來扶養(yǎng)。 3.假設(shè)每一位學(xué)生可以「參加」多次考試,不能
38、缺考。並且每次考試 必須由學(xué)生親自來考。,,,,,【隨堂練習(xí)】 請您再舉三個(M:N)的例子,並利用「基數(shù)限制條件」來繪出ER圖?!咎崾尽?1.客戶與零件 2.學(xué)生與課程 3.訂單與產(chǎn)品,,,,,【隨堂練習(xí)】 請您再舉三個(M:N)的例子,並繪出ER圖?!窘獯稹?1.每一個客戶可以「預(yù)訂」多個零件,也可以不訂。並且每一個零件 可以被多位客戶來預(yù)訂,也可以沒
39、有被訂。 2.每一位學(xué)生可以「選修」至少要選一門以上課程,而每一個課程可 以被多位學(xué)生來選修,也可以沒有被選 3.每一張訂單可以「包含」至少有一項以上產(chǎn)品,並且每一個產(chǎn)品可 以被包含在多張訂單來訂,也可以沒有被訂。,,,,,3-4.2 關(guān)係的分支度(Degree),【定義】指參與關(guān)係的實體的個數(shù),稱之為「分支度」(Degree)?!痉诸悺炕旧?,常見的分支度有三種: 1.一元
40、關(guān)係:指參與關(guān)係的實體的個數(shù)只有一個,稱之。 2.二元關(guān)係:指參與關(guān)係的實體的個數(shù)有二個,稱之。 3.三元關(guān)係:指參與關(guān)係的實體的個數(shù)有三個,稱之。,1.一元關(guān)係,【定義】是指參與關(guān)係的實體的個數(shù)只有一個,稱之。【示意圖】【舉例】「員工」中的主管,可以管理許多員工。如下圖所示:,2.二元關(guān)係,【定義】是指參與關(guān)係的實體的個數(shù)有二個,稱之?!臼疽鈭D】【舉例】「學(xué)生」選修「課程」的關(guān)係,其中,「學(xué)生」與「課程」為
41、 兩個實體,而「選修」是兩個實體所參與的關(guān)係。如下圖所示:,【二元關(guān)係的3個重要的例子】,3.三元關(guān)係,【定義】是指參與關(guān)係的實體的個數(shù)有三個,稱之?!臼疽鈭D】【舉例】「客戶」、「員工」與「訂單」之間的關(guān)係為【訂購】。 如下圖所示:,【舉例】 假設(shè)每一位客戶可以訂購一張以上的訂單,也可以沒有下任何訂單, 但是,每一張訂單必須會有一位客戶的訂購資料。
42、 並且每一張訂單必須要有一位員工負責(zé)客戶的訂購資料?!窘獯稹?3-4.3 關(guān)係的屬性,【定義】每一個實體型態(tài)都擁有許多屬性。事實上,關(guān)係型態(tài)也可能 有一些屬性?!具m用時機】指兩個實體真正交易的時間點時,才會產(chǎn)生的屬性。 如下圖所示:,【實例1】,假設(shè)為了記錄「客戶」在下「訂單」時的數(shù)量,可以在「下」的關(guān)係型態(tài)裡加上一個屬性「數(shù)量」。,【注意】,如何
43、將1:M的關(guān)係屬性轉(zhuǎn)移到資料表中呢?如下圖所示:,【注意】,如何將1:M的關(guān)係屬性轉(zhuǎn)移到資料表中呢?【解答】我們只需要將「關(guān)係屬性」轉(zhuǎn)移到多的那一方的實體型態(tài)中即可。 如下圖所示: 客戶(客戶代號,…) 訂單(訂單代號,…,數(shù)量),,【隨堂練習(xí)】,請再舉三個有關(guān)「關(guān)係屬性」的例子?提示:1.學(xué)生「選課」課程2.學(xué)生「借還」圖書3.
44、司機「駕駛」車輛4.員工「工作於」部門,其中就含有「工作時數(shù)」的屬性。,【隨堂練習(xí)】,請再舉三個有關(guān)「關(guān)係屬性」的例子?【解答】1.學(xué)生「選課」課程?成績,【注意】,如何將M:N的關(guān)係屬性轉(zhuǎn)移到資料表中呢?如下圖所示:,【注意】,如何將1:M的關(guān)係屬性轉(zhuǎn)移到資料表中呢?【解答】我們只需要將「關(guān)係屬性」轉(zhuǎn)移到多的那一方的實體型態(tài)中即可。 如下圖所示: 客戶(客戶代號,
45、…) 訂單(訂單代號,…,數(shù)量),,【隨堂練習(xí)】,請再舉三個有關(guān)「關(guān)係屬性」的例子?【解答】1.學(xué)生「選課」課程?成績,學(xué)年、學(xué)期,【隨堂練習(xí)】,請再舉三個有關(guān)「關(guān)係屬性」的例子?【解答】2.學(xué)生「借還」圖書,【隨堂練習(xí)】,請再舉三個有關(guān)「關(guān)係屬性」的例子?【解答】3.司機「駕駛」車輛,3-4.4 關(guān)係的參與限制,【定義】是指「實體的實例」是全部或部分參與關(guān)係,它可以分為兩種。
46、【分類】 1.全部參與限制條件(Total Participation Constraints) 2.部分參與限制條件(Partial Participation Constraints),1.全部參與限制條件,【定義】是指實體全部集合中的實例都參與關(guān)聯(lián)性, 使用雙線來標示,也稱為「存在相依」。【例如】在「課程」與「考試」實體型態(tài)的一對多關(guān)聯(lián)中,課程實體只部分參與,因為課程可能沒有考試,考試實體是全部參與關(guān)聯(lián),因為如果
47、課程有考試,就一定存在考試實體,如下圖所示:,部分參與限制 全部參與限制,,,2.部分參與限制條件,【定義】是指在實體全部集合中只有部分實例參與關(guān)聯(lián)性,使用單線標示?!纠纭吭凇刚n程」與「考試」實體型態(tài)的一對多關(guān)聯(lián)中,課程實體只部分參與,因為課程可能沒有考試,考試實體是全部參與關(guān)聯(lián),因為如果課程有考試,就一定存在考試實體,如下圖所示:,,,部分參與限制 全部參與限制,3-4.5
48、 綱要(Schema),【定義】 「綱要(Schema)」是資料庫中全體資料的邏輯結(jié)構(gòu)和特徵的描述, 它僅僅涉及到型態(tài)的描述,不涉及到具體的值?!纠纭繉W(xué)生資料表(學(xué)號,姓名,系別),3-4.6 實例(Instance),【定義】 綱要的一個具體值稱為綱要的一個實例(Instance),同一個綱要可 以有很多實例?!纠纭?學(xué)生一:S0001,李碩安,資訊管理系學(xué)生二:S0002,李
49、碩崴,資訊工程系,3-5 情境轉(zhuǎn)換成E-R Model,在前面的章節(jié)中,我們已經(jīng)學(xué)會E-R Model的意義與製作方法及使用時機之後,接下來,我們將帶領(lǐng)各位學(xué)生從實際的訪談過程(稱為情境),轉(zhuǎn)換成E-R Model。 首先我們需了解情境中的每一個實體。第二就是設(shè)定實體與實體之間的關(guān)係(Relationship)。第三就是決定實體的屬性(Attribute)。第四就是決定各個實體的鍵值(Key)。最後就是決定實體之間的基
50、數(shù)性。其說明如下所示:1.以使用者觀點決定資料庫相關(guān)的實體(Entity)2.設(shè)定實體與實體之間的關(guān)係(Relationship)3.決定實體的屬性(Attribute)4.決定各個實體的鍵值(Key)5.決定實體之間的基數(shù)性(cardinality),【課堂評量】,請利用「雞爪圖」依下列的述敘來畫出完整的實體-關(guān)係圖(ERD):1.「學(xué)生實體」和「課程實體」之間有「選修」的關(guān)係。2.學(xué)生實體有學(xué)號、姓名、生日、年齡、地
51、址、電話及專長等屬性, 其中 學(xué)號為鍵屬性、年齡需要利用生日導(dǎo)出來, 而學(xué)生有兩個以上的專長。3.課程實體有課程編號、課程名稱、學(xué)分數(shù)等屬性, 課程編號為鍵屬性?!窘獯稹???,【課堂評量】,請利用「雞爪圖」依下列的述敘來畫出完整的實體-關(guān)係圖(ERD):1.「學(xué)生實體」和「課程實體」之間有「選修」的關(guān)係。2.學(xué)生實體有學(xué)號、姓名、生日、年齡、地址、電話及專長等屬性, 其中 學(xué)號為鍵屬性、年齡需要利用生日導(dǎo)出來,
52、而學(xué)生有兩個以上的專長。3.課程實體有課程編號、課程名稱、學(xué)分數(shù)等屬性, 課程編號為鍵屬性。【解答】,【個案實例】,假如有一家「安安電腦書局」想將傳統(tǒng)手工作業(yè)改為電腦化作業(yè)。因此,「安安電腦書局」想委託「正修科大資管系」學(xué)生來開發(fā)此系統(tǒng)。所以,安安書局的老闆與我們正修科大資管系學(xué)生必須要進行一段訪談,在訪談之後,學(xué)生已經(jīng)了解安安書局的作業(yè)流程與需求。其需求描述如下所示:1.安安書局會有客戶的資料,客戶資料包括:客戶代號、客戶姓
53、名、電話及地址(城市與區(qū)域),其中客戶代號具有唯一性。請將以上的需求(情境)轉(zhuǎn)換成對應(yīng)的 ER圖【解答】,2.安安書局會有許多訂單,訂單資料包括:訂單編號、交貨日期、送貨日期、送貨方式、運費,其中訂單編號具有唯一性。請將以上的需求(情境)轉(zhuǎn)換成對應(yīng)的ER圖【解答】,3.安安書局會有員工的資料,員工資料包括:員工編號、員工姓名、生日、到職日期、電話、地址及主管代號,其中員工編號具有唯一性。請將以上的需求(情境)轉(zhuǎn)換成對應(yīng)的 E
54、R圖【解答】,4.假設(shè)每一位客戶可以訂購一張以上的訂單,也可以沒有下任何訂單, 但是,每一張訂單必須會有一位客戶的訂購資料。 並且每一張訂單必須要有一位員工負責(zé)客戶的訂購資料。 請將以上的需求(情境)轉(zhuǎn)換成對應(yīng)的ER圖,4.假設(shè)每一位客戶可以訂購一張以上的訂單,也可以沒有下任何訂單, 但是,每一張訂單必須會有一位客戶的訂購資料。 並且每一張訂單必須要有一位員工負責(zé)客戶的訂購資料。 請將以
55、上的需求(情境)轉(zhuǎn)換成對應(yīng)的ER圖【解答】,5.每一張訂單上可以包含一個以上的產(chǎn)品,訂單上包含以下的明細: 售價、產(chǎn)品數(shù)量及折扣。6.每一個產(chǎn)品有可能被客戶來訂購,也可能沒有被客戶訂購。 產(chǎn)品的資料包括:產(chǎn)品代號、產(chǎn)品名稱、顏色、訂價、庫存量、己訂 購量數(shù)及安全存量,每一個產(chǎn)品都具有唯一的產(chǎn)品代號。假設(shè)每一張訂單可以包含最少一張以上的產(chǎn)品,而每一個產(chǎn)品可以被包含在多張訂單中,也可以沒有 .請將以上的需求(
56、情境)轉(zhuǎn)換成對應(yīng)的ER圖【解答】,7.每一家供應(yīng)商可以供應(yīng)各種產(chǎn)品,並且每一種產(chǎn)品可以由多家供應(yīng)商 供應(yīng),且每一家供應(yīng)商的資料包括:供應(yīng)商代號、供應(yīng)商名稱、電話 及地址,每一個供應(yīng)商都具有唯一的供應(yīng)商代號。請將以上的需求(情境)轉(zhuǎn)換成對應(yīng)的ER圖,7.每一家供應(yīng)商可以供應(yīng)各種產(chǎn)品,並且每一種產(chǎn)品可以由多家供應(yīng)商 供應(yīng),且每一家供應(yīng)商的資料包括:供應(yīng)商代號、供應(yīng)商名稱、電話 及地址,每一個供應(yīng)商都具有唯一的供應(yīng)
57、商代號。請將以上的需求(情境)轉(zhuǎn)換成對應(yīng)的ER圖【解答】,完整的ER圖如下所示:,3-6 將ER圖轉(zhuǎn)換成對應(yīng)表格的法則,在上一節(jié),已經(jīng)提到情境轉(zhuǎn)換成ER圖,接下來如何將ER圖轉(zhuǎn)換成對應(yīng)表格呢?。首先,每一個實體的屬性必須要轉(zhuǎn)為該表格的欄位,鍵值屬性則轉(zhuǎn)為主索引欄位(Primary Key)。,3-6.1 轉(zhuǎn)換實體與屬性成為資料表與欄位,【規(guī)則】1.每一個「實體」名稱轉(zhuǎn)換成「表格」名稱。2.每一個實體的「屬性」名稱轉(zhuǎn)換為該表格的
58、「欄位」名稱。3.每一個實體的「鍵值屬性」轉(zhuǎn)換為「主鍵欄位」。4.如果鍵值屬性為複合屬性,則這複合屬性所有的欄位皆為主索引欄位?!纠纭空垖⑾铝械腅R圖轉(zhuǎn)換成資料表?!窘獯稹?教師,,3-6.2 建立資料表間的關(guān)聯(lián),基本上,在關(guān)聯(lián)式資料庫中的資料表之間的關(guān)聯(lián)性有三種情況:第一種情況:1對1(1:1)關(guān)係第二種情況:1對多(1:M)關(guān)係第三種情況:多對多(M:N)關(guān)係,第一種情況:1對1(1:1)關(guān)係,【定義
59、】是指兩個實體之間的關(guān)係為一對一?!綞R圖】,【作法】基本上有兩種不同的作法 1.第一種作法: 將Entity2資料表的主鍵B嵌入到Entity1資料表中,當作Entity1資料表的 外來鍵(F.K.)。因此,兩個資料表之間的關(guān)聯(lián)就是透過Entity1 資料表的外 來鍵(F.K.)參考對應(yīng)Entity2 資料表的主鍵(P.K.),對應(yīng),外來鍵(F.K.),嵌入,主鍵(P.K
60、.),【作法】基本上有兩種不同的作法 2.第二種作法: 將Entity1資料表的主鍵A嵌入到Entity2資料表中,當作Entity2資料表的 外來鍵(F.K.)。因此,兩個資料表之間的關(guān)聯(lián)就是透過Entity2 資料表的外 來鍵(F.K.)參考對應(yīng)Entity1 資料表的主鍵(P.K.),對應(yīng),外來鍵(F.K.),嵌入,主鍵(P.K.),【實例】,假設(shè)每一位「教師」只能分配
61、一個「車位」,並且每一個「車位」僅能被分配給一位「教師」,其一對一的關(guān)係之ER圖,如下所示:請將以上的ER圖轉(zhuǎn)換成資料表。【解答】,,,,第二種情況:1對多(1:M)關(guān)係,【定義】是指兩個實體之間的關(guān)係為一對多。【ER圖】,【作法】當兩個實體的關(guān)係為一對多時,則實體為多那方在轉(zhuǎn)換成Table時,要再增加一個外來鍵(F.K.)。 將Entity1資料表的主鍵A嵌入到Entity2資料表(多那方)中,當作Ent
62、ity2資料表的外來鍵(F.K.)。因此,兩個資料表之間的關(guān)聯(lián)就是透過Entity2資料表的外來鍵(F.K.)參考對應(yīng)Entity1 資料表的主鍵(P.K.),對應(yīng),外來鍵(F.K.),嵌入,主鍵(P.K.),【實例】,假設(shè)每一位「教師」可以同時指導(dǎo)多位「學(xué)生」,但是,每一位「學(xué)生」僅能被一位「教師」指導(dǎo),其一對多的關(guān)係之ER圖,如下所示:請將以上的ER圖轉(zhuǎn)換成資料表?!窘獯稹?,,第三種情況:多對多(M:N)關(guān)係,【定義】是
63、指兩個實體之間的關(guān)係為多對多。【ER圖】,【作法】當兩個實體的關(guān)係為多對多時。我們將增加一個R資料表,而R資料表的主鍵欄位是由Entity1資料表的主鍵A與Entity2資料表的主鍵B所組成。在R資料表中A欄位代表外來鍵(F.K.)與Entity1資料表產(chǎn)生關(guān)聯(lián),而R資料表中B欄位代表外來鍵(F.K.)與Entity2資料表產(chǎn)生關(guān)聯(lián)。,對應(yīng),【實例】,假設(shè)每一位「學(xué)生」可以同時選修多門「課程」,並且,每一門「課程」也可以被多位「學(xué)
64、生」來選課,其多對多的關(guān)係之ER圖,如下所示:請將以上的ER圖轉(zhuǎn)換成資料表。【解答】,,,,[課後評量1],請將下列的ER圖轉(zhuǎn)換成資料表。,,[課後評量1],請將下列的ER圖轉(zhuǎn)換成資料表?!窘獯稹緼(a1,a2)B(b1,b2)C(c1,c2,a1)R1(a1,b1),,在前面兩個單元(ch3-6.1及ch3-6.2)已經(jīng)介紹基本ER圖轉(zhuǎn)換成對應(yīng)表格了,但是,對於比較特殊的ER圖欲轉(zhuǎn)換成資料表
65、時,其規(guī)則必須要補充。例如:弱實體之ER圖如何轉(zhuǎn)換成資料表呢?或多值屬性之ER圖又如何轉(zhuǎn)換呢?本單元先介紹如何將「弱實體之ER圖轉(zhuǎn)換成資料表」?!咀鞣ā恐魉饕龣谖皇怯扇鯇嶓w的弱鍵值屬性(如:親屬姓名)及其所依靠強實體的主索引欄位(如:教師編號)所組成。,3-6.3 弱實體之ER圖轉(zhuǎn)換成資料表,在下圖中,親屬的弱鍵值屬性為姓名,是使用虛線當?shù)撞?,它可以和擁有它的實體鍵值屬性合組成主索引欄位。對於弱實體親屬,我們將對於擁有它的教師實體
66、的鍵值屬性教師編號,包含於弱實體所形成的親屬資料表,並和親屬的弱鍵值屬性組合成主索引欄位。而親屬資料表的教師編號為外來鍵,它必須參考到教師資料表中的教師編號欄位。,,【隨堂練習(xí)】,請再舉例一弱實體之ER圖轉(zhuǎn)換成資料表的例子。1.「員工」與「親屬」之【輔養(yǎng)】關(guān)係。,3-6.4 多值屬性之ER圖轉(zhuǎn)換成資料表,【作法】1.建立一個新資料表(內(nèi)含1個外鍵(F.K.)+多值屬性欄位值,形成複合主鍵)2.再利用新資料表的外鍵參考原資料表的
67、主鍵?!緢D解說明】假設(shè)Entity1實體的多值屬性為M,我們建立一個Entity2資料表並將多值的屬性M放入Entity2資料表,也將Entity1實體的鍵值屬性嵌入到Entity2資料表來當作外鍵,使得Entity2資料表的外鍵參考Entity1資料表的主鍵來產(chǎn)生關(guān)聯(lián),並且此欄位和Entity2資料表的M屬性合組成Entity2資料表的主索引欄位。,【實例】假設(shè)某大學(xué)有分校區(qū),系所資料表(系所代碼,系所名稱)系所校址
68、資料表(系所代碼,位址),轉(zhuǎn)換,【隨堂練習(xí)】,假設(shè)學(xué)生的電話有二支或二支以上。,學(xué)生資料表(學(xué)號,姓名)學(xué)生電話表(學(xué)號,電話),轉(zhuǎn)換,3-6.5 大於2元關(guān)係之ER圖轉(zhuǎn)換成資料表,【作法】大部份,每一個關(guān)係會存在兩個實體,但是,當關(guān)係的實體大於2時,則形成所謂的多元(大於2)關(guān)係。因此,我們就必須要再建立一個新的弱資料表R包含了所有關(guān)係及實體的鍵值屬性當作是R的外鍵欄位,在R中所有外鍵欄位的組合就是R資料表的主鍵欄位,並且將R
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 私立世新大學(xué)資訊管理學(xué)系
- 物理學(xué)系暨研究所-成功大學(xué)
- 管理學(xué)課程信息資料
- 南華大學(xué)2019年復(fù)試科目科目-護理管理學(xué)
- 2019年南華大學(xué)考研912 管理學(xué)初試大綱
- 中華大學(xué)行政管理學(xué)系
- 國立中興大學(xué)企業(yè)管理學(xué)系
- kpmgtalkbooktemplate-長庚大學(xué)醫(yī)務(wù)管理學(xué)系
- 工業(yè)工程與管理學(xué)系
- 開南大學(xué)95年度第2學(xué)期資訊管理學(xué)系科目教學(xué)計劃表
- 管理學(xué)課程
- 義守大學(xué)工業(yè)工程與管理學(xué)系
- 附件1-中山大學(xué)資訊管理學(xué)院
- 大學(xué)管理學(xué)教學(xué)的課程調(diào)查研究
- 大綱-國立中山大學(xué)企業(yè)管理學(xué)系
- 管理學(xué)論文課程教學(xué)管理學(xué)論文
- 2019年南華大學(xué)考研612公共管理學(xué)基礎(chǔ)初試大綱
- 《管理學(xué)原理》課程
- 供應(yīng)中心-國立中山大學(xué)企業(yè)管理學(xué)系
- 國立臺灣大學(xué)管理學(xué)院國際企業(yè)學(xué)系
評論
0/150
提交評論