《數(shù)據(jù)庫(kù)技術(shù)與設(shè)計(jì)》課件第3章 數(shù)據(jù)庫(kù)建模_第1頁
《數(shù)據(jù)庫(kù)技術(shù)與設(shè)計(jì)》課件第3章 數(shù)據(jù)庫(kù)建模_第2頁
《數(shù)據(jù)庫(kù)技術(shù)與設(shè)計(jì)》課件第3章 數(shù)據(jù)庫(kù)建模_第3頁
《數(shù)據(jù)庫(kù)技術(shù)與設(shè)計(jì)》課件第3章 數(shù)據(jù)庫(kù)建模_第4頁
《數(shù)據(jù)庫(kù)技術(shù)與設(shè)計(jì)》課件第3章 數(shù)據(jù)庫(kù)建模_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章

數(shù)據(jù)庫(kù)建模Chapter3DatabaseModeling本章要點(diǎn)數(shù)據(jù)庫(kù)建模概述E-R圖的設(shè)計(jì)E-R圖的子類和繼承E-R圖的約束建模典型案例分析3.1數(shù)據(jù)庫(kù)建模概述

要設(shè)計(jì)一個(gè)有用的數(shù)據(jù)庫(kù),首先要考慮在數(shù)據(jù)庫(kù)中存放什么信息,然后分析這些信息之間有什么聯(lián)系,最后確定數(shù)據(jù)庫(kù)的結(jié)構(gòu)。

數(shù)據(jù)庫(kù)的結(jié)構(gòu)通常稱為數(shù)據(jù)庫(kù)模式。數(shù)據(jù)庫(kù)建模過程以下:圖3.1數(shù)據(jù)庫(kù)建模過程

3.2E-R圖的設(shè)計(jì)3.2.1E-R圖的設(shè)計(jì)方法1、E-R圖的組成部分:(1)實(shí)體集,在E-R圖中用矩形框來表示實(shí)體集,實(shí)體是實(shí)體集的成員。(2)聯(lián)系,在E-R圖中用菱形框來表示聯(lián)系,聯(lián)系與其涉及的實(shí)體集之間以直線連接,并在直線端部標(biāo)上聯(lián)系的種類(1:1,1:N,M:N)。(3)屬性,在E-R圖中用橢圓形來表示實(shí)體集和聯(lián)系的屬性,對(duì)于鍵碼的屬性,在屬性名下劃一橫線。下面舉例加以說明。

例1

一般情況下,一個(gè)學(xué)生可以選修多門課程且一門課程可以讓多個(gè)學(xué)生來選修;一門課程只能有一名課代表且一個(gè)學(xué)生允許擔(dān)任幾門課的課代表。用E-R圖來可以表示一個(gè)簡(jiǎn)單的學(xué)生選課數(shù)據(jù)庫(kù),如下圖3.2所示。

圖3.2學(xué)生選課數(shù)據(jù)庫(kù)的E-R圖例2

一般情況下,一部電影有一批演員且每位演員可以出演多部電影;每家制片公司擁有多部電影且每部電影只歸一家制片公司所有;每家制片公司只有一位公司總裁且每位公司總裁只在一家制片公司任職。用E-R圖可以表示一個(gè)電影資料數(shù)據(jù)庫(kù),如下圖3.3所示。

圖3.3電影資料數(shù)據(jù)庫(kù)的E-R圖2、E-R圖中聯(lián)系的多向性

聯(lián)系有時(shí)不僅局限于兩個(gè)實(shí)體集之間,也可能涉及到三個(gè)或更多的實(shí)體集,這時(shí)就構(gòu)成了多向聯(lián)系。假設(shè)在學(xué)生選課數(shù)據(jù)庫(kù)中增加一個(gè)實(shí)體集Teacher(老師),這樣學(xué)生選課聯(lián)系就涉及到三個(gè)實(shí)體集:

StudentCourseTeacher

例3對(duì)于特定的學(xué)生和課程,只有一位老師與它們相對(duì)應(yīng)。一個(gè)學(xué)生可以選修一個(gè)老師開的幾門課,而一個(gè)老師開的一門課也可以有多個(gè)學(xué)生去選。這時(shí),必須用到如圖3.4所示的三向聯(lián)系S_C_T。

圖3.4三向聯(lián)系的例子

雖然用多向聯(lián)系能更形象地反映某些現(xiàn)實(shí)世界,但從數(shù)據(jù)庫(kù)建模的角度,用二元聯(lián)系更為方便。可以將多向的聯(lián)系轉(zhuǎn)換成二元的聯(lián)系,如圖3.5所示。

圖3.5用實(shí)體集和二元聯(lián)系代替多向聯(lián)系

3.2.2E-R圖的設(shè)計(jì)原則1、真實(shí)性

最基本的設(shè)計(jì)原則就是:實(shí)體集和屬性應(yīng)當(dāng)是真實(shí)的,應(yīng)當(dāng)反映客觀現(xiàn)實(shí)。2、

避免冗余

在設(shè)計(jì)過程中,任何事物都只表達(dá)一次,否則既浪費(fèi)空間,又容易造成不必要的麻煩。3、簡(jiǎn)單性

在設(shè)計(jì)數(shù)據(jù)庫(kù)的過程中,一定要設(shè)法避免引入過多的元素,而應(yīng)該盡量簡(jiǎn)單明了。4、合理選擇元素類型

一般來說,若某個(gè)事物具有比名稱更多的信息(屬性),則作為實(shí)體集來實(shí)現(xiàn)更加合適;然而,若它除了名稱之外不具有其他信息,則作為屬性可能更合理。

3.3子類和繼承3.3.1E-R圖的子類

實(shí)體是實(shí)體集的成員,實(shí)體集是同類實(shí)體的集合。在面向?qū)ο髷?shù)據(jù)模型里,實(shí)體相當(dāng)于對(duì)象,實(shí)體集相當(dāng)于類。如果某個(gè)實(shí)體集中含有一部分實(shí)體,而這部分實(shí)體具有某些附加的特性,并且這些特性對(duì)集合中其他實(shí)體成員來說是沒有的,我們就稱這部分實(shí)體組成的集合為子實(shí)體集或子類。

假定類A是類B的子類,類A對(duì)應(yīng)于E-R圖的實(shí)體集A,類B對(duì)應(yīng)于E-R圖中的實(shí)體集B。任何只和子類A有關(guān)的屬性和聯(lián)系都連到實(shí)體集A的方框上,而與類A和B都有關(guān)的屬性和聯(lián)系則連到實(shí)體集B的方框上,用一種稱作屬于(“isa”)的特殊聯(lián)系將實(shí)體集A和B相連。

“isa”聯(lián)系用一個(gè)三角形和兩條連向?qū)嶓w集的線來表示,三角形的尖端指向超類,三角形中還要寫上“isa”的字樣。例如用E-R圖表示類Student與子類Postgraduate之間的聯(lián)系。

圖3.8在E-R圖中表示“屬于”(“isa”)的例子3.3.2E-R圖的繼承例4在一個(gè)電影資料數(shù)據(jù)庫(kù)里,Movie(電影)是一個(gè)類,而Cartoon(動(dòng)畫片)和Murder(謀殺片)就是它的兩個(gè)子類,這二個(gè)子類繼承了Movie(電影)類的特性。對(duì)于Movie類中的一個(gè)對(duì)象《誰陷害了兔子羅杰》,它既屬于動(dòng)畫片類又屬于謀殺片類。對(duì)于《誰陷害了兔子羅杰》這個(gè)Movie類中的一個(gè)對(duì)象,它具有屬于三個(gè)類Movie、Cartoon和Murder的分量。換句話說,通過isa(屬于)聯(lián)系將這三個(gè)類的分量連成一個(gè)實(shí)體。

圖6.10在E-R圖中表示子類的例子從這個(gè)例子可以看出屬于(isa)聯(lián)系與普通聯(lián)系的不同之處:屬于聯(lián)系只是把一個(gè)較復(fù)雜的實(shí)體從結(jié)構(gòu)上劃分為不同的層次。

3.4E-R圖的約束建模3.4.1實(shí)體集的鍵碼

在E-R圖中,鍵碼(key)是在實(shí)體集的范圍內(nèi)唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性或?qū)傩约?。例如:S(sno,sname,age,dept)

SC(sno,cno,score)

在有多個(gè)鍵碼的情況下,通常我們會(huì)選擇一個(gè)鍵碼作為主鍵碼,其他的鍵碼稱為候選鍵碼。

3.4.2單值約束

單值約束要求某個(gè)屬性的值是唯一的,鍵碼是單值約束的主要來源。若實(shí)體集中的一個(gè)屬性是鍵碼的一部分,則要求實(shí)體集中該屬性值不能取空值;若實(shí)體集中的一個(gè)屬性不是鍵碼的一部分,則通常允許該屬性值取“空”值,即允許該屬性的值任選。

3.4.3完整性約束

完整性約束主要體現(xiàn)在以下兩方面:實(shí)體完整性:規(guī)定一個(gè)實(shí)體的鍵碼屬性(集)值不能為空或部分為空。引用完整性:若一個(gè)實(shí)體的某個(gè)屬性(集)值只能引用另一個(gè)實(shí)體確實(shí)存在的鍵碼屬性(集)值之一。下面舉二個(gè)例子加以說明。

例5

已知三個(gè)關(guān)系模式如下:

S(sno,sname,age,dept)SC(sno,cno

,score)C(cno

,cname,credit)

如何理解實(shí)體完整性和引用完整性?例6

已知二個(gè)關(guān)系模式如下:

EMP(eno,ename,dno)

DEPT(dno

,dname,manager)如何理解實(shí)體完整性和引用完整性?

3.4.4其它類型約束

域約束要求某個(gè)屬性的值必須處于特定的范圍內(nèi)或者取自特性值的集合。例如,制定屬性的類型或取值范圍。

一般約束是要求在數(shù)據(jù)庫(kù)中保存的任意斷言。例如,我們規(guī)定一個(gè)電影實(shí)體不能通過聯(lián)系A(chǔ)ct與8個(gè)以上的演員實(shí)體相連。

3.5典型案例分析3.5.1典型案例1---高校組織結(jié)構(gòu)E-R圖的設(shè)計(jì)(方法二)1、案例描述高校下面有若干學(xué)院和職能處室;學(xué)院下面有若干系和班級(jí);系下面有許多教師,其中有的教師能指導(dǎo)研究生;班級(jí)有許多學(xué)生,學(xué)生可選修課程,其中有的學(xué)生是研究生;職能處室有若干科,每個(gè)科有若干職員。請(qǐng)用E-R圖畫出該學(xué)校的概念數(shù)據(jù)模型。2、案例分析

實(shí)體集有:高校、學(xué)院、系、班級(jí)、學(xué)生、教師、課程、處室、科、職員;子實(shí)體集有:研究生和碩導(dǎo)。要求分析這些實(shí)體集之間的聯(lián)系!3、案例

實(shí)現(xiàn)3.5.2典型案例2---在線考試系統(tǒng)

E-R圖的設(shè)計(jì)1、案例描述

在線考試系統(tǒng)包括以下一些主要功能:1)考生相關(guān)功能:考生的注冊(cè)、登錄、答題、提交試卷、成績(jī)查詢等;2)試卷生成和評(píng)分功能:根據(jù)最新設(shè)置的試卷結(jié)構(gòu)隨機(jī)組卷;根據(jù)考生提交的答案對(duì)照正確答案給出分?jǐn)?shù);試卷的維護(hù)功能;3)試題庫(kù)的管理功能:試題(目前可用題型包括判斷題、選擇題和填空題)的增加、修改、刪除等功能;4)其他管理功能:成績(jī)統(tǒng)計(jì)、學(xué)生信息的查詢與管理、學(xué)生補(bǔ)考功能等。

前臺(tái)包括考生注冊(cè)和考生考試兩大功能模塊;

后臺(tái)包括管理員信息管理、題庫(kù)管理、考試管理三大功能模塊。2、案例分析

在線考試系統(tǒng)主要包含:考生信息、試卷信息、考試信息三個(gè)實(shí)體集;此外還應(yīng)有判斷題信息、選擇題信息、填空題信息、管理員信息等。其中

考生信息和試卷信息之間是多對(duì)多關(guān)系。3、案例實(shí)現(xiàn)

考生信息屬性包括:考生學(xué)號(hào),考生姓名,考生密碼,考生性別,考生班級(jí),注冊(cè)日期;試卷信息屬性包括:試卷編號(hào),判斷題數(shù)量,判斷題每題分?jǐn)?shù),選擇題數(shù)量,選擇題每題分?jǐn)?shù),填空題數(shù)量,填空題每題分?jǐn)?shù),出卷日期;考試信息屬性包括:試卷編號(hào),考生學(xué)號(hào),考生成績(jī),考試日期,是否補(bǔ)考,補(bǔ)考成績(jī),補(bǔ)考日期;判斷題信息屬性包括:判斷題編號(hào),判斷題內(nèi)容,標(biāo)準(zhǔn)答案,添加日期;選擇題信息和填空題信息也雷同;管理員信息屬性包括:管理員姓名,管理員密碼。3.5.3典型案例3---圖書網(wǎng)上銷售系統(tǒng)E-R圖的設(shè)計(jì)1、案例描述

圖書網(wǎng)上購(gòu)物流程包括:瀏覽圖書、選擇圖書、確認(rèn)購(gòu)買、填寫數(shù)據(jù)與支付費(fèi)用、產(chǎn)生訂單。我們可以設(shè)計(jì)以下基本功能:1)圖書展示功能2)購(gòu)物袋功能3)網(wǎng)上結(jié)賬功能4)訂單確認(rèn)功能

2、案例分析

圖書網(wǎng)上銷售系統(tǒng)主要包含:圖書信息和客戶信息二個(gè)實(shí)體集,此外還應(yīng)包括訂購(gòu)信息、購(gòu)物袋信息。

其中圖書信息和客戶信息之間是多對(duì)多關(guān)系,購(gòu)物袋信息是一個(gè)臨時(shí)關(guān)系。3、案例實(shí)現(xiàn)

經(jīng)過以上簡(jiǎn)單分析可以知道,圖書網(wǎng)上銷售系統(tǒng)主要包含圖書信息、客戶信息二個(gè)實(shí)體集,具體可用如下圖3.12的E-R圖來表示。

圖書信息屬性包括:圖書編號(hào)(ISBN)、圖書名稱、圖書價(jià)格等;客戶信息屬性包括:訂單編號(hào)、客戶姓名、送貨地址、訂單總金額、客戶電話等;訂購(gòu)信息屬性包括:訂單編號(hào)、圖書編號(hào)、數(shù)量和單價(jià);購(gòu)物袋信息屬性包括:臨時(shí)編號(hào)、已選購(gòu)的圖書編號(hào)、要選購(gòu)的數(shù)量。

其中訂購(gòu)信息中的單價(jià)是為了計(jì)算方便而加入的,它與圖書信息中的圖書價(jià)格含義相同。

小結(jié)

本章最后應(yīng)用三

溫馨提示

  • 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. 人人文庫(kù)網(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)論