數(shù)據(jù)庫系統(tǒng)概論5版2016chp07-2_第1頁
數(shù)據(jù)庫系統(tǒng)概論5版2016chp07-2_第2頁
數(shù)據(jù)庫系統(tǒng)概論5版2016chp07-2_第3頁
數(shù)據(jù)庫系統(tǒng)概論5版2016chp07-2_第4頁
數(shù)據(jù)庫系統(tǒng)概論5版2016chp07-2_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、An Introduction to Database System第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.2 需求分析需求分析7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.5 數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計7.6 數(shù)據(jù)庫實施和維護(hù)數(shù)據(jù)庫實施和維護(hù)7.7 小結(jié)小結(jié)An Introduction to Database System7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.3.1 概念模型概念模型7.3.2 ER模型模型7.3.3 擴(kuò)展的擴(kuò)展的ER模型模型7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.3.1 概念模型概念模型v將需求

2、分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計v概念結(jié)構(gòu)設(shè)計的特點 (1) 能真實、充分地反映現(xiàn)實世界 (2) 易于理解 (3) 易于更改 (4) 易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換An Introduction to Database Systemv描述概念模型的工具E-R模型An Introduction to Database System7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.3.1 概念模型概念模型7.3.2 ER模型模型7.3.3 擴(kuò)展的擴(kuò)展的ER模型模型7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.3.2 E-R模型模型An Introductio

3、n to Database System1. 實體之間的聯(lián)系(1)兩個實體型之間的聯(lián)系:一對一聯(lián)系(1 1)一對多聯(lián)系(1 n)多對多聯(lián)系(m n)E-R模型(續(xù)模型(續(xù))An Introduction to Database System一對一聯(lián)系(1 1)如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1 1。例如,學(xué)校里一個班級只有一個正班長,而一個班長只在一個班中任職,則班級與班長之間具有一對一聯(lián)系。E-R模型(續(xù)模型(續(xù))An Introduction to Database System一對多聯(lián)系(

4、1 n)如果對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1 n。例如,一個班級中有若干名學(xué)生,而每個學(xué)生只在一個班級中學(xué)習(xí),則班級與學(xué)生之間具有一對多聯(lián)系。E-R模型(續(xù)模型(續(xù))An Introduction to Database System多對多聯(lián)系(m n)如果對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m0)與之聯(lián)系,則稱實體集A與實體集B具有多對多聯(lián)系,記為m n。例如,

5、一門課程同時有若干個學(xué)生選修,而一個學(xué)生可以同時選修多門課程,則課程與學(xué)生之間具有多對多聯(lián)系。E-R模型(續(xù)模型(續(xù))An Introduction to Database System實體型實體型A聯(lián)系名實體型實體型B111:1聯(lián)系聯(lián)系聯(lián)系名1n1:n聯(lián)系聯(lián)系實體型實體型A實體型實體型B實體型實體型A聯(lián)系名mnm:n聯(lián)系聯(lián)系實體型實體型BE-R模型(續(xù)模型(續(xù))An Introduction to Database System(2)兩個以上的實體型之間的聯(lián)系一般地,兩個以上的實體型之間也存在著一對一、一對多、多對多聯(lián)系。對于課程、教師與參考書3個實體型,如果一門課程可以有若干個教師講授,使

6、用若干本參考書,而每一個教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯(lián)系是一對多的,如圖7.7(a)所示。兩個以上實體型之間的聯(lián)系兩個以上實體型之間的聯(lián)系(續(xù)續(xù))An Introduction to Database System課程課程講授教師教師1m兩個以上實體型間兩個以上實體型間1:n聯(lián)系聯(lián)系參考書參考書n供應(yīng)商供應(yīng)項目mp零件nE-R模型(續(xù)模型(續(xù))An Introduction to Database System(3)單個實體型內(nèi)的聯(lián)系同一個實體集內(nèi)的各實體之間也可以存在一對一、一對多、多對多的聯(lián)系。例如,職工實體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即某

7、一職工(干部)“領(lǐng)導(dǎo)”若干名職工,而一個職工僅被另外一個職工直接領(lǐng)導(dǎo),因此這是一對多的聯(lián)系,如圖7.8所示。職工領(lǐng)導(dǎo)1n單個實體型內(nèi)部單個實體型內(nèi)部1:n聯(lián)系聯(lián)系A(chǔ)n Introduction to Database SystemsE-R圖圖v實體型用矩形表示,矩形框內(nèi)寫明實體名。v屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來學(xué)生學(xué)生教師教師學(xué)生學(xué)生學(xué)號年齡性別姓名An Introduction to Database SystemsE-R圖圖(續(xù)續(xù))v聯(lián)系 聯(lián)系本身: 用菱形表示,菱形框內(nèi)用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向?qū)懨髀?lián)系名,并用無向邊分別與有關(guān)實體連接邊分別與有關(guān)實體

8、連接起來,同時在無向邊旁起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(標(biāo)上聯(lián)系的類型(1:1、1:n或或m:n) 課程課程選修學(xué)生學(xué)生mn成績An Introduction to Database Systems實例實例1 倉庫管理倉庫管理v倉庫管理問題描述如下: (1)一個倉庫倉庫可以存放多種零件零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯(lián)系。用庫存量來表示某種零件在某個倉庫中的數(shù)量。(2)一個倉庫有多個職工職工當(dāng)倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯(lián)系。(3)職工之間具有領(lǐng)導(dǎo)-被領(lǐng)導(dǎo)關(guān)系。即倉庫主任領(lǐng)導(dǎo)若干保管員。(4)供應(yīng)商供應(yīng)商、項目項目和零件零件三者

9、之間具有多對多的聯(lián)系A(chǔ)n Introduction to Database Systems六、實例六、實例1 倉庫管理倉庫管理用E-R圖表示某個工廠物資管理的概念模型v 實體 倉庫倉庫: 倉庫號、面積、電話號碼 零件零件 :零件號、名稱、規(guī)格、單價、描述 供應(yīng)商供應(yīng)商:供應(yīng)商號、姓名、地址、電話號碼、帳號 項目項目:項目號、預(yù)算、開工日期 職工職工:職工號、姓名、年齡、職稱 An Introduction to Database Systems實例實例1 倉庫管理倉庫管理供應(yīng)商項目零件倉庫職工供應(yīng)庫存領(lǐng)導(dǎo)工作供應(yīng)商號地址賬號姓名電話號碼倉庫號面積電話號碼項目號預(yù)算開工日期零件號規(guī)格描述名稱單價

10、供應(yīng)量庫存量職工號年齡姓名職稱mpnmnm11mAn Introduction to Database System7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.3.1 概念模型概念模型7.3.2 ER模型模型*7.3.3 擴(kuò)展的擴(kuò)展的ER模型模型*7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計An Introduction to Database System7.3.5 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計v概念結(jié)構(gòu)是概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ)基礎(chǔ),它比數(shù)據(jù)模型更獨立于機(jī)器、更抽象,從而更加穩(wěn)定v概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵關(guān)鍵An Introduction to Database

11、 System7.3.5 概念結(jié)構(gòu)設(shè)計的方法與步驟概念結(jié)構(gòu)設(shè)計的方法與步驟v設(shè)計概念結(jié)構(gòu)的四類方法 自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化自頂向下策略An Introduction to Database System7.3.5 概念結(jié)構(gòu)設(shè)計的方法與步驟概念結(jié)構(gòu)設(shè)計的方法與步驟 自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)自底向上策略An Introduction to Database System概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù)) 逐步擴(kuò)張 首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),

12、直至總體概念結(jié)構(gòu)逐步擴(kuò)張策略An Introduction to Database System概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù)) 混合策略 將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。An Introduction to Database System概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))v 常用策略 自頂向下地進(jìn)行需求分析 自底向上地設(shè)計概念結(jié)構(gòu)An Introduction to Database System概念結(jié)構(gòu)設(shè)計的方法與步驟(續(xù))概念結(jié)構(gòu)設(shè)計的方法與步驟

13、(續(xù))v自底向上設(shè)計概念結(jié)構(gòu)的步驟 第1步:抽象數(shù)據(jù)并設(shè)計局部視圖第2步:集成局部視圖,得到全局概念結(jié)構(gòu)An Introduction to Database System實體與屬性的劃分原則實體與屬性的劃分原則v兩條準(zhǔn)則:(1)屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項,不能再由另一些屬性組成(2)屬性不能與其他實體具有聯(lián)系。聯(lián)系只發(fā)生在實體之間實例實例An Introduction to Database System職工職工號姓名年齡職稱職工職工號姓名年齡職稱職稱代碼工資崗位津貼附加福利聘任An Introduction to Database System實例實例實例銷售

14、管理子系統(tǒng)分實例銷售管理子系統(tǒng)分E-R圖的設(shè)計圖的設(shè)計v銷售管理子系統(tǒng)的主要功能:處理顧客和銷售員送來的訂單工廠是根據(jù)訂貨安排生產(chǎn)的交出貨物同時開出發(fā)票收到顧客付款后,根據(jù)發(fā)票存根和信貸情況進(jìn)行應(yīng)收款處理An Introduction to Database System逐一設(shè)計分逐一設(shè)計分E-R圖(續(xù))圖(續(xù))分E-R圖的框架 An Introduction to Database System逐一設(shè)計分逐一設(shè)計分E-R圖(續(xù))圖(續(xù))v 參照第二層數(shù)據(jù)流圖和數(shù)據(jù)字典,遵循兩個準(zhǔn)則,進(jìn)行如下調(diào)整: (1) 訂單與訂單細(xì)節(jié)是1 n的聯(lián)系 (2) 原訂單和產(chǎn)品的聯(lián)系實際上是訂單細(xì)節(jié)和產(chǎn)品的聯(lián)系。

15、 (3) 圖7.21中“發(fā)票主清單”是一個數(shù)據(jù)存儲,不必作為實體加入分E-R圖 (4) 工廠對大宗訂貨給予優(yōu)惠An Introduction to Database System逐一設(shè)計分逐一設(shè)計分E-R圖(續(xù))圖(續(xù))v得到分E-R圖如下圖所示 銷售管理子系統(tǒng)的分E-R圖 An Introduction to Database System逐一設(shè)計分逐一設(shè)計分E-R圖(續(xù))圖(續(xù))對每個實體定義的屬性如下: 顧客:顧客號,顧客名,地址,電話,信貸狀況,賬目余額 訂單:訂單號,顧客號,訂貨項數(shù),訂貨日期,交貨日期,工種號,生產(chǎn)地點 訂單細(xì)則:訂單號,細(xì)則號,零件號,訂貨數(shù),金額 應(yīng)收賬款:顧客

16、號,訂單號,發(fā)票號,應(yīng)收金額,支付日期,支付金額, 當(dāng)前余額,貨款限額 產(chǎn)品描述:產(chǎn)品號,產(chǎn)品名,單價,重量 折扣規(guī)則:產(chǎn)品號,訂貨量,折扣An Introduction to Database System視圖的集成視圖的集成v各個局部視圖即分E-R圖建立好后,還需要對它們進(jìn)行合并,集成為一個整體的數(shù)據(jù)概念結(jié)構(gòu)即總E-R圖。An Introduction to Database System視圖集成的兩種方式視圖集成的兩種方式v多個分E-R圖一次集成 一次集成多個分E-R圖通常用于局部視圖比較簡單時An Introduction to Database System視圖的集成(續(xù))視圖的集成

17、(續(xù))v逐步集成 用累加的方式一次集成兩個分E-R圖 An Introduction to Database System視圖的集成(續(xù))視圖的集成(續(xù))v 集成局部E-R圖的步驟1. 合并2. 修改與重構(gòu)An Introduction to Database System視圖的集成(續(xù))視圖的集成(續(xù))視圖集成 An Introduction to Database System合并分合并分E-R圖,生成初步圖,生成初步E-R圖圖v 各分E-R圖存在沖突 各個分E-R圖之間必定會存在許多不一致的地方v合并分E-R圖的主要工作與關(guān)鍵 合理消除各分E-R圖的沖突An Introduction t

18、o Database System合并分合并分E-R圖,生成初步圖,生成初步E-R圖(續(xù))圖(續(xù))v 沖突的種類 屬性沖突 命名沖突 結(jié)構(gòu)沖突An Introduction to Database System 屬性沖突屬性沖突v兩類屬性沖突 屬性域沖突屬性值的類型取值范圍 取值集合不同 屬性取值單位沖突An Introduction to Database System 命名沖突命名沖突v兩類命名沖突 同名異義:不同意義的對象在不同的局部應(yīng)用中具有相同的名字 異名同義(一義多名):同一意義的對象在不同的局部應(yīng)用中具有不同的名字An Introduction to Database Syste

19、m 結(jié)構(gòu)沖突結(jié)構(gòu)沖突v三類結(jié)構(gòu)沖突 同一對象在不同應(yīng)用中具有不同的抽象 同一實體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同 實體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型An Introduction to Database System消除不必要的冗余,設(shè)計基本消除不必要的冗余,設(shè)計基本E-R圖圖v基本任務(wù) 消除不必要的冗余,設(shè)計生成基本E-R圖合并合并初步初步E-R圖圖分分E-R圖圖可能存在冗余的數(shù)據(jù)可能存在冗余的數(shù)據(jù)和冗余的實體間聯(lián)系和冗余的實體間聯(lián)系基本基本E-R圖圖消除不必要的冗余消除不必要的冗余An Introduction to Database System消除不

20、必要的冗余,設(shè)計基本消除不必要的冗余,設(shè)計基本E-R圖(續(xù))圖(續(xù))v 冗余v 消除冗余的方法An Introduction to Database System1冗余冗余v 冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù)冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系 v 冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫的完整性,給數(shù)據(jù)庫維護(hù)增加困難v 消除不必要的冗余后的初步E-R圖稱為基本E-R圖 An Introduction to Database System消除冗余的方法消除冗余的方法v分析方法 以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù) 根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項之間的邏輯關(guān)系A(chǔ)n Introduction to Database

21、System消除冗余的方法(續(xù))消除冗余的方法(續(xù))消除冗余 An Introduction to Database System消除冗余的方法(續(xù))消除冗余的方法(續(xù)) 效率VS冗余信息 需要根據(jù)用戶的整體需求來確定 若人為地保留了一些冗余數(shù)據(jù),則應(yīng)把數(shù)據(jù)字典中數(shù)據(jù)關(guān)聯(lián)的說明作為完整性約束條件 Q4=Q5 一旦Q5修改后就應(yīng)當(dāng)觸發(fā)完整性檢查,對Q4進(jìn)行修改An Introduction to Database System消除冗余的方法(續(xù))消除冗余的方法(續(xù))v規(guī)范化理論 函數(shù)依賴的概念提供了消除冗余聯(lián)系的形式化工具An Introduction to Database System消除冗

22、余的方法(續(xù))消除冗余的方法(續(xù)) 方法1. 確定分E-R圖實體之間的數(shù)據(jù)依賴 ,并用實體碼之間的函數(shù)依賴表示。勞動人事管理的分E-R圖 An Introduction to Database System消除冗余的方法(續(xù))消除冗余的方法(續(xù))上圖中, 部門和職工之間一對多的聯(lián)系可表示為: 職工號部門號 職工和產(chǎn)品之間多對多的聯(lián)系可表示為: (職工號,產(chǎn)品號)工作天數(shù) 得到函數(shù)依賴集FL An Introduction to Database System消除冗余的方法(續(xù))消除冗余的方法(續(xù))2. 求FL的最小覆蓋GL ,差集為D = FL-GL。 逐一考察D中的函數(shù)依賴,確定是否是冗余的

23、聯(lián)系,若是,就把它去掉。 (1) 冗余的聯(lián)系一定在D中,而D中的聯(lián)系不一定是冗余的; (2) 當(dāng)實體之間存在多種聯(lián)系時要將實體之間的聯(lián)系在形式上加以區(qū)分。An Introduction to Database System實例實例 實例 教務(wù)管理信息系統(tǒng)的視圖集成。 mmnm名稱系擁有學(xué)生學(xué)號姓名性別年齡開課課程教師號課程號課程名選修成績平均成績局部ER圖之 學(xué)生選課ER圖An Introduction to Database System消除冗余,設(shè)計生成基本消除冗余,設(shè)計生成基本E-R圖實例圖實例局部ER圖之 教師任課ER圖1m教師號姓名性別職稱課程號教師講授課程n屬于單位單位名電話mAn

24、 Introduction to Database System消除冗余,設(shè)計生成基本消除冗余,設(shè)計生成基本E-R圖實例(續(xù))圖實例(續(xù))教務(wù)管理系統(tǒng)的初步ER圖mn1系屬于教師擁有學(xué)生開課講授選修課程mmnm1m1學(xué)號姓名性別年齡平均成績成績教師號課程號課程名教師號 姓名性別職稱系名電話An Introduction to Database System教務(wù)管理系統(tǒng)的初步教務(wù)管理系統(tǒng)的初步ER圖圖mn1系屬于教師擁有學(xué)生開課講授選修課程mmnm1m1學(xué)號姓名性別年齡平均成績成績教師號課程號課程名教師號 姓名性別職稱系名電話An Introduction to Database System教務(wù)管理系統(tǒng)的基本ER圖n1系屬于教師擁有學(xué)生講授選修課程mmnm1m學(xué)號姓名性別年齡成績課程號課程名教師號 姓名性別職稱系名電話An Introduction to Database System消除冗余,設(shè)計生成基本消除冗余,設(shè)計生成基本E-R圖實例(續(xù))圖實例(續(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

提交評論