第4章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)_第1頁(yè)
第4章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)_第2頁(yè)
第4章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)_第3頁(yè)
第4章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)_第4頁(yè)
第4章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2022-3-7第第4 4章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì) 2022-3-7內(nèi)內(nèi) 容容4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)設(shè)計(jì)概述4.2 需求分析需求分析4.3 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)4.4 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)4.5 物理結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)4.6 數(shù)據(jù)庫(kù)實(shí)施數(shù)據(jù)庫(kù)實(shí)施4.7 數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)小結(jié)小結(jié)2022-3-74.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)設(shè)計(jì)概述 什么是數(shù)據(jù)庫(kù)設(shè)計(jì)呢?廣義地講,是數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的設(shè)計(jì),即設(shè)計(jì)整個(gè)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。狹義地講,是設(shè)計(jì)數(shù)據(jù)庫(kù)本身,即設(shè)計(jì)數(shù)據(jù)庫(kù)的各級(jí)模式并建立數(shù)據(jù)庫(kù),這是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)的一部分。 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)

2、境,構(gòu)造(設(shè)計(jì))優(yōu)化的數(shù)據(jù)庫(kù)邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求2022-3-74.1.1數(shù)據(jù)庫(kù)的設(shè)計(jì)特點(diǎn)數(shù)據(jù)庫(kù)的設(shè)計(jì)特點(diǎn)1、“三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)” 。(基本規(guī)律)2、數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該和應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合。即結(jié)構(gòu)(數(shù)據(jù)) 設(shè)計(jì)和行為(處理)設(shè)計(jì)相結(jié)合。4.1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)方法數(shù)據(jù)庫(kù)設(shè)計(jì)方法 1 1新奧爾良新奧爾良(New Orleans)(New Orleans)方法方法 2 2基于基于E-RE-R模型的數(shù)據(jù)庫(kù)設(shè)計(jì)方法模型的數(shù)據(jù)庫(kù)設(shè)計(jì)方法 3 33NF(3NF(第三范式第三范式) )的設(shè)計(jì)方法的設(shè)計(jì)方法 4 4對(duì)

3、象定義語(yǔ)言對(duì)象定義語(yǔ)言 (Object Definition Language(Object Definition Language,ODL)ODL)方法方法2022-3-74.1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)基本步驟數(shù)據(jù)庫(kù)設(shè)計(jì)基本步驟1需求分析階段需求分析階段 進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理需求分析)。 2概念設(shè)計(jì)階段概念設(shè)計(jì)階段 它通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。3邏輯設(shè)計(jì)階段邏輯設(shè)計(jì)階段 將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。4物理設(shè)計(jì)階段物理設(shè)計(jì)階段 為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存

4、儲(chǔ)結(jié)構(gòu)和存取方法)。 5數(shù)據(jù)庫(kù)實(shí)施階段數(shù)據(jù)庫(kù)實(shí)施階段 設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)庫(kù)語(yǔ)言(如SQL)及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。6數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段 對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行評(píng)價(jià)、調(diào)整與修改。2022-3-74.1.4 數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中的各級(jí)模式數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中的各級(jí)模式應(yīng)用要求1應(yīng)用要求2應(yīng)用要求n.概念模式邏輯模式外模式1外模式2.外模式n內(nèi)模式.綜合轉(zhuǎn)換2022-3-74.2 需求分析需求分析 主要任務(wù):主要任務(wù):通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(部門(mén)、企業(yè)等),充分了解原系統(tǒng)工作概況,明確用戶的各

5、種需求明確用戶的各種需求,然后在此基礎(chǔ)上確定確定新系統(tǒng)的功能新系統(tǒng)的功能。通過(guò)調(diào)查獲得用戶如下要求:信息要求、處理要求和安全性與完整性要求 主要工作:主要工作: 收集資料:是數(shù)據(jù)庫(kù)設(shè)計(jì)人員和用戶共同完成。確定企業(yè)組織的目 標(biāo),從這些目標(biāo)導(dǎo)出數(shù)據(jù)庫(kù)的總體要求。 分析整理:對(duì)所收集到的數(shù)據(jù)進(jìn)行抽象的過(guò)程。 數(shù)據(jù)流圖:采用數(shù)據(jù)流圖描述系統(tǒng)的功能。 數(shù)據(jù)字典:是系統(tǒng)中各類(lèi)數(shù)據(jù)描述的集合,包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、 數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過(guò)程。 用戶確認(rèn):需求分析得到的數(shù)據(jù)流圖和數(shù)據(jù)字典要返回給用戶,通過(guò) 反復(fù)完善,最終取得用戶的認(rèn)可。2022-3-74.3 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)4.3.1 設(shè)計(jì)策略及步

6、驟設(shè)計(jì)策略及步驟 設(shè)計(jì)策略:設(shè)計(jì)策略:自頂向下自頂向下。首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。 自底向上。自底向上。首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來(lái),得到全局概念結(jié)構(gòu)。逐步擴(kuò)張。逐步擴(kuò)張。首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)?;旌喜呗?。混合策略。即將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。2022-3-7主要步驟主要步驟 進(jìn)行數(shù)據(jù)抽象,設(shè)計(jì)局部概念模式 將局部概念模式綜合成全局概念模式 評(píng)審用戶評(píng)審用戶評(píng)審:重點(diǎn)放在確認(rèn)全局概念模式是否

7、準(zhǔn)確、完整地反映了用戶的信息需求和現(xiàn)實(shí)世界事物的屬性間的固有聯(lián)系;DBA和應(yīng)用開(kāi)發(fā)人員評(píng)審和應(yīng)用開(kāi)發(fā)人員評(píng)審:側(cè)重于確認(rèn)全局結(jié)構(gòu)是否完整,各種成分劃分是否合理,是否存在不一致性,以及各種文檔是否齊全等。2022-3-7人腦的認(rèn)識(shí)抽象轉(zhuǎn)換現(xiàn)實(shí)世界信息世界數(shù)據(jù)世界現(xiàn)實(shí)世界問(wèn)題事物及其聯(lián)系概念模型實(shí)體及其聯(lián)系數(shù)據(jù)模型數(shù)據(jù)及其聯(lián)系4.3.2 概念模型概念模型1數(shù)據(jù)處理的三個(gè)世界數(shù)據(jù)處理的三個(gè)世界(1)現(xiàn)實(shí)世界:客觀存在的世界中事物及其聯(lián)系。(2)信息世界:是指現(xiàn)實(shí)世界在人的頭腦中的反映。是對(duì)客觀事物及其聯(lián)系的 一種抽象描述,一般 采用實(shí)體-聯(lián)系方法表示。(3)數(shù)據(jù)世界:指信息世界中的信息在計(jì)算機(jī)中的數(shù)

8、據(jù)存 儲(chǔ)。信息世界中的實(shí)體及其聯(lián)系將被轉(zhuǎn)換成數(shù)據(jù)世界中的數(shù)據(jù)及聯(lián)系,這種聯(lián)系是 用數(shù)據(jù)模型表示的。2022-3-72. 概念模型的基本概念概念模型的基本概念 實(shí)體:實(shí)體:(Entity)是指客觀存在且可區(qū)別于其他對(duì)象的事物。實(shí)體可以是具體的對(duì)象,如一個(gè)產(chǎn)品、一個(gè)倉(cāng)庫(kù)、一艘船、一個(gè)房子、一個(gè)學(xué)生、一門(mén)課程等;實(shí)體也可以是抽象的事件,如一次訂貨、一次購(gòu)房、一次選課等。 實(shí)體集:實(shí)體集:實(shí)體集(Entity set)是具有相同類(lèi)型和相同性質(zhì)的實(shí)體的集合。 實(shí)體型和實(shí)體值:實(shí)體型和實(shí)體值:用于描述和抽象同一實(shí)體集共同特征的實(shí)體名及其屬性名的集合稱為實(shí)體型(Entity type)。 屬性:屬性:實(shí)體集

9、中的每個(gè)成員所具有的某一特性。屬性的取值范圍稱為屬性的域。2022-3-7簡(jiǎn)單屬性和復(fù)合屬性。簡(jiǎn)單屬性和復(fù)合屬性。不能再劃分的屬性稱為簡(jiǎn)單屬性,可進(jìn)一步劃分成更小部分的屬性稱為復(fù)合屬性。單值屬性和多值屬性。單值屬性和多值屬性。如果實(shí)體集中的每一個(gè)實(shí)體在某個(gè)屬性上的值是單一的,則該屬性就是單值屬性。反之,如果對(duì)于實(shí)體集中的某個(gè)具體實(shí)體而言,某個(gè)屬性的值可能對(duì)應(yīng)一組值,則該屬性就是多值屬性。 Null屬性。屬性。當(dāng)暫時(shí)不知道某個(gè)屬性的值,或?qū)傩灾瞪形创_定時(shí),可將屬性值設(shè)為空(Null)。派生屬性。派生屬性。如果實(shí)體的某個(gè)屬性的值可以從其他相關(guān)實(shí)體或?qū)傩灾信缮鰜?lái),那么該屬性就是派生屬性。 實(shí)體的屬

10、性分類(lèi)實(shí)體的屬性分類(lèi)2022-3-7鍵鍵 能唯一標(biāo)識(shí)實(shí)體集中每個(gè)實(shí)體的屬性或?qū)傩越M稱為實(shí)體集的鍵(Key)。 聯(lián)系聯(lián)系 聯(lián)系(Relationship)是實(shí)體集之間的一個(gè)關(guān)聯(lián)。每個(gè)聯(lián)系都有一個(gè)名字,每個(gè)聯(lián)系都可以具有描述性屬性。2022-3-7 一對(duì)一(記為“1:1”):如果對(duì)于實(shí)體集E1中的每個(gè)實(shí)體,在實(shí)體集E2中至多只有一個(gè)實(shí)體與之相對(duì)應(yīng),反之亦然。 一對(duì)多(記為“1:n”):如果對(duì)于實(shí)體集E1中的每個(gè)實(shí)體,在實(shí)體集E2中有任意個(gè)(零個(gè)或多個(gè))實(shí)體與之相對(duì)應(yīng),而對(duì)于E2中的每個(gè)實(shí)體卻至多和E1中的一個(gè)實(shí)體相對(duì)應(yīng)。 多對(duì)多(記為“n:m”):如果對(duì)于實(shí)體集E1中的每個(gè)實(shí)體,在實(shí)體集E2中有任

11、意個(gè)(零個(gè)或多個(gè))實(shí)體與之相對(duì)應(yīng),反之亦然,聯(lián)系的類(lèi)型聯(lián)系的類(lèi)型實(shí)體E1聯(lián)系名實(shí)體E211實(shí)體E1聯(lián)系名實(shí)體E2n1實(shí)體E1聯(lián)系名實(shí)體E2nm2022-3-7聯(lián)系的實(shí)例、參與者和度聯(lián)系的實(shí)例、參與者和度 一個(gè)給定聯(lián)系的具體值就是該聯(lián)系的一個(gè)實(shí)例。 一個(gè)給定聯(lián)系中的實(shí)體稱為聯(lián)系的參與者。 聯(lián)系可存在于兩個(gè)實(shí)體之間,也可存在于多個(gè)實(shí)體之間;不同實(shí)體集的實(shí)體間有聯(lián)系,同一實(shí)體集的實(shí)體間也可以有聯(lián)系。 一個(gè)給定聯(lián)系中參與者的數(shù)量稱為聯(lián)系的度(Degree)。度為2的聯(lián)系稱為2元聯(lián)系,度為n(n2)的聯(lián)系稱為n元聯(lián)系。2022-3-73 三個(gè)世界的聯(lián)系三個(gè)世界的聯(lián)系現(xiàn)實(shí)世界 信息世界 數(shù)據(jù)世界事物個(gè)體事

12、物總體事物特征事物間聯(lián)系實(shí)體實(shí)體集屬性實(shí)體模型記錄文件字段數(shù)據(jù)模型2022-3-74概念模型的設(shè)計(jì)方法概念模型的設(shè)計(jì)方法 概念模型的設(shè)計(jì)方法很多,其中較早出現(xiàn)的,最著名最常用的是P.P.S.Chen于1976年提出的實(shí)體-聯(lián)系方法(Entity-Relationship Approach,E-R方法); 除此之外是統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)類(lèi)圖方法,該方法雖然在E-R方法之后出現(xiàn),但卻很快獲得了廣泛的應(yīng)用。2022-3-74.3.3 實(shí)體實(shí)體-聯(lián)系方法聯(lián)系方法1. E-R模型的表示方法模型的表示方法2. E-R模型的設(shè)計(jì)問(wèn)題模型的設(shè)計(jì)問(wèn)題3. E

13、-R模型的擴(kuò)充模型的擴(kuò)充4. 局部局部E-R模型的設(shè)計(jì)模型的設(shè)計(jì)5. 全局全局E-R模型的設(shè)計(jì)模型的設(shè)計(jì)2022-3-71E-R模型的表示方法模型的表示方法實(shí)體型。實(shí)體型。實(shí)體型用帶有實(shí)體名的矩形框表示。屬性。屬性。一般屬性用帶有屬性名的橢圓形框表示,多值屬性用雙橢圓形框表示,派生屬性用虛橢圓形框表示。屬性與其對(duì)應(yīng)的實(shí)體型之間用直線連接。實(shí)體集之間的聯(lián)系。實(shí)體集之間的聯(lián)系。實(shí)體集之間的聯(lián)系用帶有聯(lián)系名的菱形框表示,并用直線將聯(lián)系與相應(yīng)的實(shí)體相連接,且在直線靠近實(shí)體的那端標(biāo)上1或n等,以表明聯(lián)系的類(lèi)型(1:1、1:n或m:n)。2022-3-72E-R模型的設(shè)計(jì)問(wèn)題模型的設(shè)計(jì)問(wèn)題 確定實(shí)體集和屬

14、性確定實(shí)體集和屬性一般來(lái)講,可以作為屬性的事物應(yīng)符合如下兩條原則: 除了復(fù)合屬性,其他屬性都不能再具有需要描述的特性。 屬性不能與其它實(shí)體發(fā)生聯(lián)系,即E-R圖中所表示的聯(lián)系是實(shí)體間的聯(lián)系。職工職工號(hào)職稱年齡姓名聘任職稱職工號(hào)附加福利工資2022-3-7病人住院號(hào)姓名病房號(hào)住在病房醫(yī)療醫(yī)生2022-3-7 確定實(shí)體集間的聯(lián)系確定實(shí)體集間的聯(lián)系 從如圖4.14所示的E-R模型中可以得到如下的信息:課程信息、教師信息以及某門(mén)課程是由哪幾個(gè)教師教授的,某位教師教授了哪幾門(mén)課。但無(wú)法了解教師在教授某門(mén)課程時(shí),是在什么時(shí)間、哪一間教室教授的?有哪些學(xué)生修讀該課程?如果這些都是用戶所關(guān)心的問(wèn)題,就必須在E-

15、R模型中體現(xiàn)出來(lái)。2022-3-73E-R模型的擴(kuò)充模型的擴(kuò)充 (1) 弱實(shí)體在現(xiàn)實(shí)世界中,有些實(shí)體的存在必須依賴于其它實(shí)體,這樣的實(shí)體稱為弱實(shí)體,其他實(shí)體則被稱為常規(guī)實(shí)體。 (2) 超類(lèi)和子類(lèi) 概括定義了類(lèi)型之間的一種子集聯(lián)系。例如:學(xué)生、本科生、研究生。建筑物單元住宅組成1n學(xué)生本科生研究生2022-3-7數(shù)據(jù)抽象:對(duì)實(shí)際的人、事、物和概念進(jìn)行人為處理,抽取關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。 分類(lèi):定義某一類(lèi)概念作為現(xiàn)實(shí)世界中一組對(duì)象的類(lèi)型。這些對(duì)象具有某些共同的特性和行為。抽象了對(duì)象值與型之間的“is menber of ”的

16、語(yǔ)義 聚集:定義某一類(lèi)型的組成成分。抽象了對(duì)象內(nèi)部類(lèi)型和成分之間的“is part of ”的語(yǔ)義 概括:定義類(lèi)型之間的一種子集聯(lián)系。抽象類(lèi)型之間的“is subset of ”的語(yǔ)義4局部局部E-R模型的設(shè)計(jì)模型的設(shè)計(jì)學(xué)生張英王平趙斌學(xué)生學(xué)號(hào)姓名專業(yè)分類(lèi)聚集學(xué)生本科生研究生概括2022-3-7 選擇局部應(yīng)用:選擇適當(dāng)層次的子系統(tǒng),設(shè)計(jì)各個(gè)局部E-R圖工廠管理信息系統(tǒng)物資管理銷(xiāo)售管理人事管理逐一設(shè)計(jì)每一局部結(jié)構(gòu)的E-R圖2022-3-75全局全局E-R模型的設(shè)計(jì)模型的設(shè)計(jì)請(qǐng)按鍵請(qǐng)按鍵 合并局部合并局部E-R模型,生成初步模型,生成初步E-R圖圖 方式:一次集成 逐步集成 依次取出所有的局部E-

17、R模型,進(jìn)行合并,直至所有的局部E-R模型都合并完為止。在合并過(guò)程中要檢查并消除局部E-R模型間的一些沖突即合并分兩步走 合并:解決各分E-R圖之間的沖突,形成初步E-R圖。 修改和重構(gòu):消除不必要的冗余,生成基本E-R圖。 2022-3-7屬性沖突屬性沖突 包括屬性域沖突和屬性取值單位的沖突。 屬性域的沖突:屬性域的沖突: 指同一屬性在不同局部E-R模型中有不同數(shù)據(jù)類(lèi)型、取值范圍或取值集合。 命名沖突命名沖突 同名異義:同名異義: 是指具有不同意義的對(duì)象在不同的局部E-R 模型中卻使用了相同的名字。 異名同義:異名同義: 是指具有同一意義的對(duì)象在不同的局部E-R 模型中卻使用了不同的名字。a

18、. 合并合并2022-3-7結(jié)構(gòu)沖突結(jié)構(gòu)沖突同一對(duì)象在不同的局部E-R模型中具有不同的抽象,例如:職工同一實(shí)體在不同的局部E-R模型中包含不同的屬性個(gè)數(shù)和排列次序?qū)嶓w間的聯(lián)系在不同的局部E-R模型中具有不同的類(lèi)型。供應(yīng)商供應(yīng)m數(shù)量零件n產(chǎn)品p構(gòu)成m零件n產(chǎn)品數(shù)量供應(yīng)商供應(yīng)m數(shù)量1零件n產(chǎn)品p構(gòu)成mn數(shù)量2綜合2022-3-7 消除冗余數(shù)據(jù)和冗余聯(lián)系,設(shè)計(jì)基本消除冗余數(shù)據(jù)和冗余聯(lián)系,設(shè)計(jì)基本E-R圖圖m零件產(chǎn)品構(gòu)成mn零件數(shù)Q1消耗n材料1存放倉(cāng)庫(kù)mn使用n數(shù)量Q3消耗量Q2存放量Q4存放量Q52022-3-7例例1:某汽車(chē)維修公司需建立一個(gè)汽車(chē)維修數(shù)據(jù)庫(kù),該數(shù)據(jù):某汽車(chē)維修公司需建立一個(gè)汽車(chē)維

19、修數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中需要存儲(chǔ)和關(guān)聯(lián)下列信息:庫(kù)中需要存儲(chǔ)和關(guān)聯(lián)下列信息: 車(chē)輛信息:車(chē)牌號(hào)、車(chē)型、發(fā)動(dòng)機(jī)號(hào)、行駛里程、車(chē)輛所有人、聯(lián)系電話 維修項(xiàng)目:項(xiàng)目號(hào)、項(xiàng)目名稱、維修費(fèi) 汽車(chē)備件:備件號(hào)、備件名稱、備件單價(jià)、庫(kù)存數(shù)量以上數(shù)據(jù)之間存在下列約束: 可以對(duì)一個(gè)車(chē)輛進(jìn)行多個(gè)維修項(xiàng)目,每個(gè)維修項(xiàng)目可用于多個(gè)車(chē)輛,維修項(xiàng)目完成后要在數(shù)據(jù)庫(kù)中記錄維修時(shí)間 一種備件可用于多個(gè)維修項(xiàng)目,每個(gè)維修項(xiàng)目最多只使用一種備件,但每種備件的數(shù)量可以是多個(gè) 根據(jù)以上需求構(gòu)建該數(shù)據(jù)庫(kù)的概念模型2022-3-7例例2:現(xiàn)有某圖書(shū)銷(xiāo)售數(shù)據(jù)庫(kù),其關(guān)系表結(jié)構(gòu)如下:現(xiàn)有某圖書(shū)銷(xiāo)售數(shù)據(jù)庫(kù),其關(guān)系表結(jié)構(gòu)如下:圖書(shū)表(圖書(shū)編號(hào)、圖書(shū)名

20、稱、出版社編號(hào)、出版社名稱、出版時(shí)間、出版數(shù)量、版次)圖書(shū)銷(xiāo)售表(圖書(shū)編號(hào)、銷(xiāo)售日期、銷(xiāo)售數(shù)量、書(shū)店編號(hào)、讀者編號(hào)、讀者姓名、讀著電話)書(shū)店表(書(shū)店編號(hào)、聯(lián)系電話、所在城市編號(hào)、城市名稱)該系統(tǒng)所涉及的數(shù)據(jù)存在如下約束:一個(gè)出版社可以出版多本圖書(shū),一本圖書(shū)只能在一個(gè)出版社出版,在該系統(tǒng)記錄的圖書(shū)出版社信息包括出版時(shí)間 、版次及出版數(shù)量信息一個(gè)書(shū)店可以出售多本圖書(shū)給多個(gè)讀者,每位讀者可以從多個(gè)書(shū)店購(gòu)買(mǎi)多本圖書(shū),一本圖書(shū)可以通過(guò)多個(gè)書(shū)店售給讀者,書(shū)店把圖書(shū)出售給讀者之后會(huì)在系統(tǒng)中記錄售書(shū)日期和售書(shū)數(shù)量信息。一個(gè)書(shū)店只能位于一個(gè)城市,一個(gè)城市可以有多個(gè)書(shū)店請(qǐng)根據(jù)以上信息畫(huà)出合理的圖書(shū)銷(xiāo)售數(shù)據(jù)庫(kù)的概念

21、模型(E-R圖表示)以圖書(shū)銷(xiāo)售表為例說(shuō)明原數(shù)據(jù)庫(kù)設(shè)計(jì)的不合理之處I.給出該數(shù)據(jù)庫(kù)符合3NF要求的全部關(guān)系模式,并給出關(guān)系模式中的全部主碼和外碼2022-3-74.4 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì) 概念結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。 設(shè)計(jì)邏輯結(jié)構(gòu)的步驟:設(shè)計(jì)邏輯結(jié)構(gòu)的步驟: 將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型; 將轉(zhuǎn)換來(lái)的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換; 對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。2022-3-74.4.1 E-R模型向關(guān)系模型的轉(zhuǎn)換模型向關(guān)系模型

22、的轉(zhuǎn)換E-R模型轉(zhuǎn)換為關(guān)系模型轉(zhuǎn)換規(guī)則:轉(zhuǎn)換規(guī)則:(1)每一個(gè)實(shí)體類(lèi)型轉(zhuǎn)換為一個(gè)模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí) 體的碼就是關(guān)系的碼。(2)聯(lián)系的轉(zhuǎn)換一般1:1,1:m聯(lián)系不產(chǎn)生新的關(guān)系模式,而是將一方實(shí)體的碼加入到多方實(shí)體對(duì)應(yīng)的關(guān)系模式中,聯(lián)系的屬性也一并加入。M:n聯(lián)系要產(chǎn)生一個(gè)新的關(guān)系模式,該關(guān)系模式由聯(lián)系涉及實(shí)體的碼加上聯(lián)系的屬性(若有)組成。2022-3-7具體做法:具體做法:(1)兩實(shí)體間的1:1聯(lián)系例如:如下圖的E-R圖可轉(zhuǎn)換為如下關(guān)系模式:廠長(zhǎng)工廠管理姓名性別年齡廠號(hào)廠名地點(diǎn)11任期工廠(廠號(hào),廠名,地點(diǎn),姓名,任期)廠長(zhǎng)(姓名,性別,年齡)廠長(zhǎng)(姓名,性別,年齡,廠號(hào),任期

23、)工廠(廠號(hào),廠名,地點(diǎn))廠長(zhǎng)(姓名,性別,年齡,)工廠(廠號(hào),廠名,地點(diǎn))管理(姓名,廠號(hào),任期)2022-3-7(2)兩實(shí)體間的1:m聯(lián)系可將“1”方實(shí)體的主碼納入“m”方實(shí)體對(duì)應(yīng)的關(guān)系中作為外碼,同時(shí)把聯(lián)系的屬性也一并納入“m”方實(shí)體對(duì)應(yīng)的關(guān)系中。廠庫(kù)商品存儲(chǔ)廠庫(kù)號(hào)地點(diǎn)面積貨號(hào)品名價(jià)格1m數(shù)量廠庫(kù)(廠庫(kù)號(hào),地點(diǎn),面積)商品(貨號(hào),品名,價(jià)格,廠庫(kù)號(hào),數(shù)量)2022-3-7(3)同一實(shí)體間的1:m聯(lián)系可在這個(gè)實(shí)體所對(duì)應(yīng)的關(guān)系中多設(shè)一個(gè)屬性,作為與該實(shí)體相聯(lián)系的另一個(gè)實(shí)體的主碼。職工領(lǐng)導(dǎo)工號(hào)姓名年齡1民意測(cè)驗(yàn)m職工(工號(hào),姓名,年齡,領(lǐng)導(dǎo)者工號(hào),民意測(cè)驗(yàn))2022-3-7(4)兩實(shí)體間的弱實(shí)

24、體聯(lián)系可將被依賴實(shí)體的主碼納入弱實(shí)體中,作為弱實(shí)體的主碼或主碼中的一部分。例如:職工親屬有姓名性別年齡親屬名親屬關(guān)系1m工號(hào)職工(工號(hào),姓名,年齡,性別)親屬(工號(hào),親屬姓名,親屬關(guān)系)2022-3-7(5)超類(lèi)和子類(lèi)的轉(zhuǎn)換 超類(lèi),子類(lèi)實(shí)體都可以轉(zhuǎn)換為一個(gè)關(guān)系,并將超類(lèi)實(shí)體的主碼加到子類(lèi)實(shí)體中。 例如:職員飛行員機(jī)械師管理員職員(職工號(hào),姓名,年齡,性別,參加工作時(shí)間)管理員(職工號(hào),職務(wù),職稱)飛行員(職工號(hào),飛行小時(shí),健康檢查,飛機(jī)型號(hào))機(jī)械師(職工號(hào),學(xué)歷,級(jí)別,專業(yè)職稱)2022-3-7(6)兩實(shí)體間的m:n聯(lián)系 必須對(duì)“聯(lián)系”單獨(dú)建立一個(gè)關(guān)系,該關(guān)系中至少包含被它所聯(lián)系的雙方實(shí)體的“

25、主碼”,如果聯(lián)系有屬性,也要納入這個(gè)關(guān)系中。例:學(xué)生課程選修學(xué)號(hào)姓名性別課程號(hào)課程名學(xué)時(shí)mn成績(jī)學(xué)生(學(xué)號(hào),姓名,年齡,性別)課程(課程號(hào),課程名,學(xué)時(shí))選修(學(xué)號(hào),課程號(hào),成績(jī))2022-3-7(7)同一實(shí)體間的m:n聯(lián)系 必須為這個(gè)“聯(lián)系”單獨(dú)建立一個(gè)關(guān)系,該關(guān)系中至少應(yīng)包含被他所聯(lián)系的雙方實(shí)體的“主碼”,如果聯(lián)系有屬性,也要納入這個(gè)關(guān)系中。由于這個(gè)“聯(lián)系”只涉及一個(gè)實(shí)體,所以加入的實(shí)體的主碼不能同名。零部件組成代號(hào)名稱價(jià)格n數(shù)量m零部件(代號(hào),名稱,價(jià)格)組成(代號(hào),組成件代號(hào),數(shù)量)2022-3-7(8)兩個(gè)以上實(shí)體間的m:n聯(lián)系 必須為這個(gè)“聯(lián)系”單獨(dú)建立一個(gè)關(guān)系,該關(guān)系中至少應(yīng)包含

26、被他所聯(lián)系的雙方實(shí)體的“主碼”,如果聯(lián)系有屬性,也要納入這個(gè)關(guān)系中。供應(yīng)商項(xiàng)目供應(yīng)供應(yīng)商號(hào)供應(yīng)商名地址項(xiàng)目名稱開(kāi)工日期mp零件數(shù)項(xiàng)目編號(hào)零件零件號(hào)零件名數(shù)量n供應(yīng)商(供應(yīng)商號(hào),供應(yīng)商名,地址)項(xiàng)目(項(xiàng)目編號(hào),項(xiàng)目名稱,開(kāi)工日期)零件(零件號(hào),零件名,數(shù)量)供應(yīng)(供應(yīng)商號(hào),項(xiàng)目編號(hào),零件號(hào),零件數(shù))2022-3-7練習(xí)1:設(shè)有如下實(shí)體:學(xué)生:學(xué)號(hào),單位名稱,姓名,性別,年齡,選修課程名課程:編號(hào),課程名,開(kāi)課單位,任課教師號(hào)教師:教師號(hào),姓名,性別,職稱,講授課程編號(hào)單位:?jiǎn)挝幻Q,電話,教師號(hào),教師姓名上述實(shí)體中存在如下聯(lián)系: 一個(gè)學(xué)生可選修多門(mén)課程,一門(mén)課程可被多個(gè)學(xué)生選修 一個(gè)教師課講授多

27、門(mén)課程,一門(mén)課程可由多個(gè)教師講授 一個(gè)單位可有多個(gè)教師,一個(gè)教師只能屬于一個(gè)單位 完成如下工作: 分別設(shè)計(jì)學(xué)生選課和教師任課兩個(gè)局部E-R圖 將上述設(shè)計(jì)完成的E-R圖合并成一個(gè)全局E-R圖 將該全局E-R圖轉(zhuǎn)換成等價(jià)的關(guān)系模式表示的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)2022-3-7 練習(xí)2:設(shè)一個(gè)海軍基地要建立一個(gè)艦隊(duì)管理信息系統(tǒng),它包括如下兩個(gè)方面的信息:1 艦隊(duì)方面艦隊(duì):艦隊(duì)名稱、基地地點(diǎn)、艦隊(duì)數(shù)量艦艇:編號(hào)、艦艇名稱、艦隊(duì)數(shù)量2 艦艇方面艦艇:艦艇編號(hào)、艦艇名、武器名稱武器:武器名稱、武器生產(chǎn)時(shí)間、艦艇編號(hào)官兵:官兵證號(hào)、姓名、艦艇編號(hào)其中,一個(gè)艦隊(duì)可擁有多艘艦艇,一艘艦艇屬于一個(gè)艦隊(duì);一艘艦艇可以安裝多種

28、武器,一種武器課安裝于多艘艦艇上,一艘艦艇有多個(gè)官兵,一個(gè)官兵只屬于一艘艦艇。試完成如下設(shè)計(jì):分別設(shè)計(jì)艦隊(duì)和艦艇兩個(gè)局部E-R圖將上述兩個(gè)局部E-R圖合并為一個(gè)全局E-R圖將該全局E-R圖轉(zhuǎn)換成關(guān)系模式合并時(shí)是否存在命名沖突?如何處理?2022-3-74.4.2 關(guān)系模式的優(yōu)化關(guān)系模式的優(yōu)化 應(yīng)用關(guān)系規(guī)范化理論對(duì)上述產(chǎn)生的關(guān)系模式進(jìn)行優(yōu)化。具體步驟:(1)確定每個(gè)關(guān)系模式內(nèi)部各個(gè)屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間的數(shù)據(jù)依賴;(2)對(duì)各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行最小化處理,消除冗余的聯(lián)系(3)確定各關(guān)系模式的范式等級(jí)(4)按照需求分析階段得到的處理要求,確定要對(duì)哪些模式進(jìn)行合并或分解(

29、5)為了提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率,對(duì)上述產(chǎn)生的關(guān)系模式進(jìn)行適當(dāng)?shù)男薷?、調(diào)整和重構(gòu)(對(duì)關(guān)系模式進(jìn)行必要的分解)2022-3-7常用的兩種分解方法是水平分解和垂直分解。常用的兩種分解方法是水平分解和垂直分解。 水平分解是把(基本)關(guān)系的元組分為若干子集合,定義每個(gè)子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率。根據(jù)“80/20原則”,一個(gè)大關(guān)系中,經(jīng)常被使用的數(shù)據(jù)只是關(guān)系的一部分,約20%,可以把經(jīng)常使用的數(shù)據(jù)分解出來(lái),形成一個(gè)子關(guān)系。垂直分解是垂直分解是把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式。垂直分解的原則是垂直分解的原則是,經(jīng)常在一起使用的屬性從R中分解出來(lái)形成一個(gè)子關(guān)系模式

30、。垂直分解可以提高某些事務(wù)的效率,但也可能使另一些事務(wù)不得不執(zhí)行連接操作,從而降低了效率。因此是否進(jìn)行垂直分解取決于分解后R上的所有事務(wù)的總效率是否得到了提高。垂直分解需要確保無(wú)損連接性和保持函數(shù)依賴,即保證分解后的關(guān)系具有無(wú)損連接性和保持函數(shù)依賴性。可以用模式分解算法對(duì)需要分解的關(guān)系模式進(jìn)行分解和檢查。2022-3-74.4.3設(shè)計(jì)用戶子模式設(shè)計(jì)用戶子模式全部關(guān)系模型設(shè)計(jì)完成后,還要根據(jù)局部應(yīng)用的需求,結(jié)合具體DBMS的特點(diǎn),設(shè)計(jì)用戶的子模式。設(shè)計(jì)子模式時(shí)應(yīng)注意用戶的習(xí)慣和方便性,主要包括:1. 使用更符合用戶習(xí)慣的別名使用更符合用戶習(xí)慣的別名在合并各分E-R圖時(shí),曾做了消除命名沖突的工作,

31、以使數(shù)據(jù)庫(kù)系統(tǒng)中同一關(guān)系和屬性具有唯一的名字。這在設(shè)計(jì)數(shù)據(jù)庫(kù)整體結(jié)構(gòu)時(shí)是非常必要的。用視圖機(jī)制可以在設(shè)計(jì)用戶視圖時(shí)重新定義某些屬性名,使其與用戶習(xí)慣一致,以方便使用。 2022-3-72.為不同級(jí)別用戶定義不同視圖,以保證系統(tǒng)的安全性為不同級(jí)別用戶定義不同視圖,以保證系統(tǒng)的安全性假設(shè)有關(guān)系模式產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,規(guī)格,單價(jià),生產(chǎn)車(chē)間,生產(chǎn)負(fù)責(zé)人,產(chǎn)品成本,產(chǎn)品合格率,質(zhì)量等級(jí)),可以在產(chǎn)品關(guān)系上建立兩個(gè)視圖:為一般顧客建立視圖:產(chǎn)品1(產(chǎn)品號(hào),產(chǎn)品名,規(guī)格,單價(jià))為產(chǎn)品銷(xiāo)售部門(mén)建立視圖:產(chǎn)品2(產(chǎn)品號(hào),產(chǎn)品名,規(guī)格,單價(jià),車(chē)間,生產(chǎn)負(fù)責(zé)人)顧客視圖中只包含允許顧客查詢的屬性;銷(xiāo)售部門(mén)視圖中只

32、包含允許銷(xiāo)售部門(mén)查詢的屬性;生產(chǎn)領(lǐng)導(dǎo)部門(mén)則可以查詢?nèi)慨a(chǎn)品數(shù)據(jù)。這樣就可以防止用戶非法訪問(wèn)本來(lái)不允許他們查詢的數(shù)據(jù),保證了系統(tǒng)的安全性。2022-3-73. 可以將經(jīng)常使用的復(fù)雜的查詢定義為視圖,簡(jiǎn)化用戶對(duì)系統(tǒng)的使用可以將經(jīng)常使用的復(fù)雜的查詢定義為視圖,簡(jiǎn)化用戶對(duì)系統(tǒng)的使用如果某些局部應(yīng)用中經(jīng)常要使用某些很復(fù)雜的查詢,為了方便用戶,可以將這些復(fù)雜查詢定義為視圖,用戶每次只對(duì)定義好的視圖進(jìn)行查詢,大大簡(jiǎn)化了用戶的使用。2022-3-74.5 物理設(shè)計(jì)物理設(shè)計(jì) 數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。它依賴于選定的DBMS。為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用要求的物理結(jié)

33、構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。 2022-3-7從數(shù)據(jù)庫(kù)物理結(jié)構(gòu)角度需要解決如下幾個(gè)問(wèn)題:(1)文件的組織 數(shù)據(jù)庫(kù)與文件的對(duì)應(yīng)關(guān)系、文件的組織結(jié)構(gòu)、查找碼、文件的記錄格式(2)文件的結(jié)構(gòu)與存取 如何將DB文件的邏輯記錄映射到物理文件的磁盤(pán)塊;對(duì)某種結(jié)構(gòu)的文件,如何去查找、插入、刪除和修改其中的記錄。堆文件:記錄隨機(jī)存儲(chǔ)在文件物理空間中順序文件:按照文件記錄在查找碼上取值大小順序排列各個(gè)記錄聚集文件:將不同關(guān)系表中有關(guān)聯(lián)關(guān)系的記錄存儲(chǔ)在同一磁盤(pán)塊內(nèi)索引文件:利用索引技術(shù)支持快速文件訪問(wèn)的文件組織和存取方法散列文件:利用散列函數(shù)支持快速文件訪問(wèn)的文件組織和存取方法4.5.1數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容和

34、方法數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容和方法2022-3-7(3)索引技術(shù) 當(dāng)數(shù)據(jù)庫(kù)中關(guān)系表的數(shù)目及關(guān)系表中元組的數(shù)目非常多時(shí),如何提高DB文件的存取速度。s1li19Fs2yang20Ms3mu19Ms1C190s1C285S2C178S2C389s3C390S1li19Fs1C190s1C285S2yang20MS2C178S2C389S3mu19Ms3C390關(guān)系S關(guān)系SC聚集文件聚集索引和非聚集索引稠密索引和稀疏索引主索引和輔索引單層索引和多層索引2022-3-7關(guān)系數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容關(guān)系數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容通常關(guān)系數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容主要包括:確定數(shù)據(jù)的存取方法;確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。2022-3

35、-74.5.2 關(guān)系模式存取方法選擇關(guān)系模式存取方法選擇1. 索引存取方法的選擇索引存取方法的選擇 表的主碼(2)如果一個(gè)(或一組)屬性經(jīng)常在WHERE查詢子句中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引(或組合索引);(3) 如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引;(4) 如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮 在這個(gè)(或這組)屬性上建立索引。(5)在ORDER BY、GROUP BY子句中出現(xiàn)的屬性2022-3-72. 聚簇存取方法的選擇聚簇存取方法的選擇 為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)或這些屬性(稱為聚簇碼)上

36、具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇聚簇。聚簇功能可以大大提高按聚簇碼進(jìn)行查詢的效率。 聚簇功能不但適用于單個(gè)關(guān)系,也適用于經(jīng)常進(jìn)行連接操作的多個(gè)關(guān)系。即把多個(gè)連接關(guān)系的元組按連接屬性值聚集存放,聚簇中的連接屬性稱為聚簇碼。這就相當(dāng)于把多個(gè)關(guān)系按“預(yù)連接”的形式存放,從而大大提高連接操作的效率。一個(gè)數(shù)據(jù)庫(kù)可以建立多個(gè)聚簇,一個(gè)關(guān)系只能加入一個(gè)聚簇。 2022-3-7選擇聚簇存取方法步驟選擇聚簇存取方法步驟設(shè)計(jì)候選聚簇設(shè)計(jì)候選聚簇對(duì)經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立聚簇;如果一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個(gè)關(guān)系可建立聚簇;如果一個(gè)關(guān)系的一個(gè)(或一組)屬性上的值重復(fù)

37、率很高,則此單個(gè)關(guān)系可建立聚簇。即對(duì)應(yīng)每個(gè)聚簇碼值的平均元組數(shù)不太少。太少了,聚簇的效果不明顯。檢查候選聚簇中的關(guān)系檢查候選聚簇中的關(guān)系,取消其中不必要的關(guān)系取消其中不必要的關(guān)系從聚簇中刪除經(jīng)常進(jìn)行全表掃描的關(guān)系;從聚簇中刪除更新操作遠(yuǎn)多于連接操作的關(guān)系;不同的聚簇中可能包含相同的關(guān)系,一個(gè)關(guān)系可以在某一個(gè)聚簇中,但不能同時(shí)加入多個(gè)聚簇。要從這多個(gè)聚簇方案(包括不建立聚簇)中選擇一個(gè)較優(yōu)的,即在這個(gè)聚簇上運(yùn)行各種事務(wù)的總代價(jià)最小。2022-3-73. HASH存取方法的選擇選擇HASH存取方法的規(guī)則:如果一個(gè)關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中,而且滿足下列兩個(gè)條件

38、之一,則此關(guān)系可以選擇HASH存取方法。如果一個(gè)關(guān)系的大小可預(yù)知,而且不變;如果關(guān)系的大小動(dòng)態(tài)改變,而且數(shù)據(jù)庫(kù)管理系統(tǒng)提供了動(dòng)態(tài)HASH存取方法。2022-3-74.5.3 確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)1. 確定數(shù)據(jù)的存放位置確定數(shù)據(jù)的存放位置1)不同類(lèi)型數(shù)據(jù)的物理分布:數(shù)據(jù)庫(kù)備份數(shù)據(jù)、索引、數(shù)據(jù)、日志2)應(yīng)用數(shù)據(jù)的劃分與分布:使用特征3)派生屬性數(shù)據(jù)分布4)關(guān)系模式的去規(guī)范化2022-3-72. 確定系統(tǒng)配置確定系統(tǒng)配置 DBMS產(chǎn)品一般都提供了一些系統(tǒng)配置變量、存儲(chǔ)分配參數(shù),供設(shè)計(jì)人員和DBA對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理優(yōu)化。初始情況下,系統(tǒng)都為這些變量賦予了合理的默認(rèn)值。但是這些值不一定

39、適合每一種應(yīng)用環(huán)境,在進(jìn)行物理設(shè)計(jì)時(shí),需要重新對(duì)這些變量賦值,以改善系統(tǒng)的性能。 系統(tǒng)配置變量很多,這些參數(shù)值影響存取時(shí)間和存儲(chǔ)空間的分配,在物理設(shè)計(jì)時(shí)就要根據(jù)應(yīng)用環(huán)境確定這些參數(shù)值,以使系統(tǒng)性能最佳。 在物理設(shè)計(jì)時(shí)對(duì)系統(tǒng)配置變量的調(diào)整只是初步的,在系統(tǒng)運(yùn)行時(shí)還要根據(jù)系統(tǒng)實(shí)際運(yùn)行情況做進(jìn)一步的調(diào)整,以期切實(shí)改進(jìn)系統(tǒng)性能。2022-3-74.5.4 評(píng)價(jià)物理結(jié)構(gòu)評(píng)價(jià)物理結(jié)構(gòu) 數(shù)據(jù)庫(kù)物理設(shè)計(jì)過(guò)程中需要對(duì)時(shí)間效率、空間效率、維護(hù)代價(jià)和各種用戶要求進(jìn)行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案。數(shù)據(jù)庫(kù)設(shè)計(jì)人員必須對(duì)這些方案進(jìn)行細(xì)致的評(píng)價(jià),從中選擇一個(gè)較優(yōu)的方案作為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。 評(píng)價(jià)物理數(shù)據(jù)庫(kù)的方法完全依賴于所

40、選用的DBMS,主要是從定量估算各種方案的存儲(chǔ)空間、存取時(shí)間和維護(hù)代價(jià)入手,對(duì)估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的物理結(jié)構(gòu)。如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計(jì)。 2022-3-74.6 數(shù)據(jù)庫(kù)實(shí)施數(shù)據(jù)庫(kù)實(shí)施 根據(jù)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)結(jié)果,在計(jì)算機(jī)系統(tǒng)上建立實(shí)際的數(shù)據(jù)庫(kù)結(jié)構(gòu)、導(dǎo)入數(shù)據(jù)并進(jìn)行程序的調(diào)試1 定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)利用給定的DBMS所提供的命令,建立數(shù)據(jù)庫(kù)的模式、外模式和內(nèi)模式。對(duì)關(guān)系數(shù)據(jù)庫(kù)來(lái)說(shuō),就是創(chuàng)建數(shù)據(jù)庫(kù)、建立數(shù)據(jù)庫(kù)中所包含的各個(gè)基本表、視圖、索引等等。這部分的工作可以用SQL語(yǔ)句中的CREATE DATABASE、CREATE TABLE

41、、CREATE VIEW和CREATE INDEX命令來(lái)完成。 2022-3-72. 數(shù)據(jù)裝載數(shù)據(jù)裝載 篩選數(shù)據(jù) 轉(zhuǎn)換數(shù)據(jù)格式 輸入數(shù)據(jù) 校驗(yàn)數(shù)據(jù)3. 應(yīng)用程序的編制調(diào)試應(yīng)用程序的編制調(diào)試 與數(shù)據(jù)載入同時(shí)進(jìn)行的工作是應(yīng)用程序的編制和調(diào)試。 在所編寫(xiě)的應(yīng)用程序中一定會(huì)用到嵌入式SQL語(yǔ)句來(lái)進(jìn)行數(shù)據(jù)庫(kù)數(shù)據(jù)查詢和更新; 其中查詢可以用SELECT語(yǔ)句,而與更新有關(guān)的語(yǔ)句則包括INSERT、DELETE和UPDATE語(yǔ)句,當(dāng)然一般還會(huì)使用游標(biāo)游標(biāo)進(jìn)行數(shù)據(jù)操作。2022-3-74 數(shù)據(jù)庫(kù)的試運(yùn)行數(shù)據(jù)庫(kù)的試運(yùn)行 在所有的程序模塊都通過(guò)了調(diào)試以后,就需要將它們聯(lián)合起來(lái)進(jìn)行調(diào)試。這一過(guò)程稱為數(shù)據(jù)庫(kù)的試運(yùn)行數(shù)據(jù)庫(kù)的試運(yùn)行。 在數(shù)據(jù)庫(kù)的試運(yùn)行過(guò)程中,不僅要測(cè)試程序的各功

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論