數(shù)據(jù)庫(kù)系統(tǒng)原理(12)新_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)原理(12)新_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)原理(12)新_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)原理(12)新_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)原理(12)新_第5頁(yè)
已閱讀5頁(yè),還剩189頁(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)介

第十二章數(shù)據(jù)庫(kù)設(shè)計(jì)步驟數(shù)據(jù)庫(kù)設(shè)計(jì)不同階段不同人員的角色數(shù)據(jù)庫(kù)設(shè)計(jì)階段系統(tǒng)分析員數(shù)據(jù)庫(kù)設(shè)計(jì)人員應(yīng)用開(kāi)發(fā)人員部分用戶代表需求分析階段負(fù)責(zé)核心人員參與概念結(jié)構(gòu)設(shè)計(jì)階段核心人員負(fù)責(zé)參與邏輯結(jié)構(gòu)設(shè)計(jì)階段核心人員負(fù)責(zé)物理結(jié)構(gòu)設(shè)計(jì)階段核心人員負(fù)責(zé)數(shù)據(jù)庫(kù)實(shí)施階段核心人員負(fù)責(zé)參與數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段核心人員負(fù)責(zé)參與參與第十二章數(shù)據(jù)庫(kù)設(shè)計(jì)步驟12.1需求分析12.2概念結(jié)構(gòu)設(shè)計(jì)12.3邏輯結(jié)構(gòu)設(shè)計(jì)12.4數(shù)據(jù)庫(kù)的物理設(shè)計(jì)12.5數(shù)據(jù)庫(kù)實(shí)施12.6數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)12.7小結(jié)12.1需求分析12.1.1需求分析的任務(wù)和過(guò)程12.1.2數(shù)據(jù)流圖12.1.3數(shù)據(jù)字典12.1.4需求分析的注意點(diǎn)12.1需求分析(續(xù))需求分析就是分析用戶的需要與要求需求分析是設(shè)計(jì)數(shù)據(jù)庫(kù)的起點(diǎn)。需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。12.1.1需求分析的任務(wù)和過(guò)程一、需求分析的任務(wù)二、需求分析的重點(diǎn)三、需求分析的難點(diǎn)四、需求分析的工作過(guò)程一、需求分析的任務(wù)調(diào)查應(yīng)用領(lǐng)域,對(duì)各種應(yīng)用的信息要求和操作要求進(jìn)行詳細(xì)分析,形成需求說(shuō)明書(shū)。詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門(mén)、企業(yè)等),了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求。確定新系統(tǒng)的功能。新系統(tǒng)必須考慮可能的擴(kuò)充和改變,不能按當(dāng)前需求來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)。二、需求分析的重點(diǎn)調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。

信息要求用戶需要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì)。數(shù)據(jù)庫(kù)中存儲(chǔ)哪些數(shù)據(jù)。處理要求對(duì)處理功能的要求、響應(yīng)時(shí)間的要求、處理方式的要求(批處理/聯(lián)機(jī)處理)。對(duì)數(shù)據(jù)安全性與完整性的要求。三、需求分析的難點(diǎn)確定用戶最終需求的難點(diǎn)用戶缺少計(jì)算機(jī)知識(shí),無(wú)法確定計(jì)算機(jī)能為做什么,不能做什么,無(wú)法一次準(zhǔn)確地表達(dá)需求,因此需求往往不斷變化。設(shè)計(jì)人員缺少用戶的專(zhuān)業(yè)知識(shí),不易理解用戶的真正需求,甚至誤解用戶的需求。新的硬件、軟件技術(shù)的出現(xiàn)也會(huì)使用戶需求發(fā)生變化。解決方法與用戶不斷交流,確定用戶的實(shí)際需求。四、需求分析的工作過(guò)程四、需求分析過(guò)程(續(xù))1.調(diào)查組織機(jī)構(gòu)情況目的:宏觀地了解給定應(yīng)用領(lǐng)域的組織機(jī)構(gòu)。結(jié)果:組織機(jī)構(gòu)圖。方法:與該組織的有關(guān)領(lǐng)導(dǎo)座談,由這些領(lǐng)導(dǎo)提供組織機(jī)構(gòu)組成情況。或者提供組織機(jī)構(gòu)圖和部門(mén)職責(zé)的文檔。四、需求分析過(guò)程(續(xù))2.熟悉各部門(mén)的業(yè)務(wù)活動(dòng)情況目的:

調(diào)查各部門(mén)的業(yè)務(wù)活動(dòng)情況,對(duì)現(xiàn)行系統(tǒng)的功能和所需信息有明確的認(rèn)識(shí)。內(nèi)容:包括了解各個(gè)部門(mén)輸入和使用什么數(shù)據(jù);如何加工處理這些數(shù)據(jù);輸出什么信息,輸出到什么部門(mén);輸出結(jié)果的格式是什么,這是調(diào)查的重點(diǎn)。常用的調(diào)查方法跟班作業(yè):親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動(dòng)的情況,此方法較準(zhǔn)確了解用戶需求,但耗費(fèi)時(shí)間。開(kāi)調(diào)查會(huì):與用戶座談了解業(yè)務(wù)活動(dòng)情況及用戶需求??梢韵嗷l(fā)。詢問(wèn):對(duì)某些調(diào)查中的問(wèn)題,找專(zhuān)人詢問(wèn)。設(shè)計(jì)調(diào)查表請(qǐng)用戶填寫(xiě):如果調(diào)查表設(shè)計(jì)合理,此方法很有效,易于為用戶接受。查閱記錄:查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄。四、需求分析過(guò)程(續(xù))四、需求分析過(guò)程(續(xù))3.分析用戶需求信息要求處理要求安全性與完整性要求結(jié)構(gòu)化系統(tǒng)分析和設(shè)計(jì)方法(StructuredAnalysisandDesignTechnique,簡(jiǎn)稱(chēng)SADT方法)SADT采用自頂向下、最上層的系統(tǒng)組織機(jī)構(gòu)入手,逐層分解的方式分析系統(tǒng)。數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。四、需求分析過(guò)程(續(xù))4.確定新系統(tǒng)的邊界對(duì)前面調(diào)查的結(jié)果進(jìn)行初步分析;確定哪些功能由計(jì)算機(jī)或準(zhǔn)備讓計(jì)算機(jī)完成;哪些活動(dòng)由人工完成;由計(jì)算機(jī)完成的功能就是新系統(tǒng)實(shí)現(xiàn)的功能。5.形成需求說(shuō)明書(shū)作為以后各個(gè)階段設(shè)計(jì)的依據(jù)。12.1需求分析12.1.1需求分析的任務(wù)和過(guò)程12.1.2數(shù)據(jù)流圖12.1.3數(shù)據(jù)字典12.1.4需求分析的注意點(diǎn)12.1.2數(shù)據(jù)流圖一、功能分解二、數(shù)據(jù)流圖三、處理過(guò)程定義四、數(shù)據(jù)存儲(chǔ)定義五、數(shù)據(jù)處理定義六、數(shù)據(jù)庫(kù)操作的定義一、功能分解SADT(結(jié)構(gòu)化系統(tǒng)分析與設(shè)計(jì)技術(shù))中心問(wèn)題是把功能逐層分解成多個(gè)子功能,同時(shí)進(jìn)行相應(yīng)數(shù)據(jù)分析與分解。P4第二層分解頂層P1P0第一層分解P41P42P3P2二、數(shù)據(jù)流圖數(shù)據(jù)流圖用來(lái)表示現(xiàn)行系統(tǒng)的信息流動(dòng)和加工處理的詳細(xì)情況,是現(xiàn)行系統(tǒng)的一種邏輯抽象,獨(dú)立于系統(tǒng)的實(shí)現(xiàn)。數(shù)據(jù)流圖的繪制建立在SADT的基礎(chǔ)上,采取自上而下的的方法。數(shù)據(jù)流圖使用符號(hào)數(shù)據(jù)處理數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流數(shù)據(jù)源點(diǎn)或終點(diǎn)二、數(shù)據(jù)流圖(續(xù))1.首先把任何一個(gè)系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)信息要求數(shù)據(jù)來(lái)源處理數(shù)據(jù)輸出處理要求二、數(shù)據(jù)流圖(續(xù))2.分解處理功能和數(shù)據(jù)(1)分解處理功能:

將處理功能的具體內(nèi)容分解為若干子功能,將子功能繼續(xù)分解,直到把工作過(guò)程表達(dá)清楚為止。(2)分解數(shù)據(jù):在處理功能的同時(shí),其所用的數(shù)據(jù)也逐級(jí)分解,形成數(shù)據(jù)流圖,數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過(guò)程的關(guān)系。(3)表達(dá)方法:處理過(guò)程:用判定表或判定樹(shù)來(lái)描述。數(shù)據(jù):用數(shù)據(jù)字典來(lái)描述。三、處理過(guò)程定義(1)考察數(shù)據(jù)流圖中的每個(gè)數(shù)據(jù)處理:確定設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng)是否應(yīng)該而且可能支持這個(gè)處理過(guò)程。如果支持,列入支持應(yīng)用的范圍。(2)對(duì)每個(gè)處理過(guò)程進(jìn)行嚴(yán)格定義:包括處理過(guò)程名、處理功能描述、處理要求、輸人數(shù)據(jù)、輸出數(shù)據(jù)等。三、處理過(guò)程(續(xù))處理功能描述簡(jiǎn)要說(shuō)明該處理過(guò)程用來(lái)做什么(而不是怎么做)。處理要求的描述包括處理頻度要求,如單位時(shí)間里處理多少事務(wù)、處理數(shù)據(jù)量、響應(yīng)時(shí)間等。這些處理要求是后面物理設(shè)計(jì)的輸入及性能評(píng)價(jià)的標(biāo)準(zhǔn)。編號(hào)處理過(guò)程名處理功能描述處理要求輸人數(shù)據(jù)輸出數(shù)據(jù)處理過(guò)程定義表四、數(shù)據(jù)存儲(chǔ)目的:確定最終數(shù)據(jù)庫(kù)需要存儲(chǔ)哪些信息。數(shù)據(jù)存儲(chǔ)定義以數(shù)據(jù)流圖為基礎(chǔ)。(1)考察數(shù)據(jù)流圖中每個(gè)數(shù)據(jù)存儲(chǔ)信息,確定其是否應(yīng)該而且可能由數(shù)據(jù)庫(kù)存儲(chǔ)(2)定義每個(gè)數(shù)據(jù)存儲(chǔ)。編號(hào)數(shù)據(jù)存儲(chǔ)名數(shù)據(jù)項(xiàng)說(shuō)明建立該數(shù)據(jù)存儲(chǔ)的處理過(guò)程存取該數(shù)據(jù)存儲(chǔ)的處理過(guò)程數(shù)據(jù)量…數(shù)據(jù)存儲(chǔ)定義表五、數(shù)據(jù)處理/數(shù)據(jù)存儲(chǔ)矩陣定義用來(lái)定義處理過(guò)程與數(shù)據(jù)存儲(chǔ)之間的關(guān)系。創(chuàng)建、插入、更新、刪除、查詢和無(wú)關(guān)系。這些關(guān)系可以用圖或矩陣表示。橫欄:數(shù)據(jù)處理過(guò)程名,豎欄:數(shù)據(jù)存儲(chǔ)名字。處理過(guò)程1處理過(guò)程2處理過(guò)程3處理過(guò)程4…數(shù)據(jù)存儲(chǔ)1CIURU數(shù)據(jù)存儲(chǔ)2CUD數(shù)據(jù)存儲(chǔ)3RCIUD………………CRUD表六、數(shù)據(jù)庫(kù)操作的定義一個(gè)處理過(guò)程中通常包括一個(gè)或多個(gè)數(shù)據(jù)庫(kù)操作。在一個(gè)數(shù)據(jù)處理中每一個(gè)操作的輸入數(shù)據(jù)項(xiàng)和輸出數(shù)據(jù)項(xiàng)、操作的數(shù)據(jù)對(duì)象、類(lèi)型、操作的功能、數(shù)據(jù)操作的選擇條件、連接條件、操作的數(shù)據(jù)量、使用頻率、要求的響應(yīng)時(shí)間等??捎脠D表的形式表示數(shù)據(jù)庫(kù)操作的定義。DBIPO圖任務(wù)名:編號(hào):所屬應(yīng)用號(hào):輸入數(shù)據(jù)項(xiàng):輸出數(shù)據(jù)項(xiàng):功能:數(shù)據(jù)庫(kù)操作定義注釋?zhuān)喉憫?yīng)時(shí)間:使用頻率;操作記錄數(shù):需求分析例子實(shí)例一:假設(shè)我們要開(kāi)發(fā)一個(gè)學(xué)校管理系統(tǒng)。1.經(jīng)過(guò)可行性分析和初步需求調(diào)查,抽象出該系統(tǒng)最高層數(shù)據(jù)流圖,該系統(tǒng)由教師管理子系統(tǒng)、學(xué)生管理子系統(tǒng)、后勤管理子系統(tǒng)組成,每個(gè)子系統(tǒng)分別配備一個(gè)開(kāi)發(fā)小組。2.進(jìn)一步細(xì)化各個(gè)子系統(tǒng):學(xué)生管理子系統(tǒng)開(kāi)發(fā)小組通過(guò)進(jìn)行需求調(diào)查,明確該子系統(tǒng)的主要功能是學(xué)籍管理和課程管理,包括學(xué)生報(bào)到、入學(xué)、畢業(yè)的管理,學(xué)生上課情況的管理。通過(guò)信息流程分析和數(shù)據(jù)收集后,他們生成了該子系統(tǒng)的數(shù)據(jù)流圖。學(xué)校管理系統(tǒng)最高層數(shù)據(jù)流圖…某學(xué)校管理信息系統(tǒng)教師管理子系統(tǒng)學(xué)生管理子系統(tǒng)后勤管理子系統(tǒng)學(xué)籍管理課程管理…….學(xué)籍管理系統(tǒng)(a)第一層數(shù)據(jù)流圖學(xué)生招生辦公室1.0報(bào)到2.0入學(xué)3.0畢業(yè)體檢表新生名單教師檔案班主任宿舍描述學(xué)生檔案離校手續(xù)畢業(yè)生名單分配工作學(xué)生檔案核對(duì)通知書(shū)檢查體檢結(jié)果工作安排學(xué)生名單宿舍分配清單同意/不同意接收?qǐng)?bào)到證體檢結(jié)果名單錄取通知書(shū)新生登記表宿舍地址、班級(jí)、班主任畢業(yè)證書(shū)、派遣證記錄已畢業(yè)畢業(yè)生名單工作分配清單離校手續(xù)清單畢業(yè)生登記表學(xué)生基本情況宿舍分配宿舍描述教師描述同意/不同意入學(xué)報(bào)到證學(xué)籍管理系統(tǒng)數(shù)據(jù)流圖(b)報(bào)到學(xué)生1.1核對(duì)錄取通知書(shū)1.2核對(duì)體檢結(jié)果1.3同意入學(xué)招生辦公室體檢表新生名單審核同意或不同意同意/不同意已核對(duì)的錄取通知書(shū)已核對(duì)的體檢結(jié)果體檢結(jié)果名單錄取通知書(shū)學(xué)籍管理系統(tǒng)數(shù)據(jù)流圖(c)入學(xué)學(xué)生2.1填登記表2.2分配班級(jí)2.3分配宿舍班主任教師檔案學(xué)生檔案宿舍分配清單已登好的登記表報(bào)到證、班級(jí)號(hào)教師描述學(xué)生情況報(bào)到證學(xué)生基本情況宿舍描述宿舍分配學(xué)生名單宿舍描述學(xué)籍管理系統(tǒng)數(shù)據(jù)流圖(d)畢業(yè)學(xué)生3.1發(fā)畢業(yè)證書(shū)3.2退宿舍3.3辦理離校手續(xù)3.4領(lǐng)派遣證畢業(yè)生名單成績(jī)冊(cè)辦公室宿舍描述學(xué)生檔案離校手續(xù)分配工作畢業(yè)證書(shū)畢業(yè)證畢業(yè)證退宿舍證明離校手續(xù)單準(zhǔn)備工作分配細(xì)節(jié)工作分配情況離校手續(xù)清單記錄已畢業(yè)宿舍安排清單能否獲得學(xué)位畢業(yè)生名單課程管理的數(shù)據(jù)流圖學(xué)生教師1.0選課2.0上課3.0考試教師檔案課程介紹學(xué)生描述修課名單課堂要求教科書(shū)教室安排考場(chǎng)安排試卷成績(jī)冊(cè)平時(shí)成績(jī)填選課單同意/不同意選修課程介紹選課單考場(chǎng)安排試卷課單成績(jī)課單成績(jī)課單考場(chǎng)安排出試卷,評(píng)定考試成績(jī)選擇教科書(shū),評(píng)定平時(shí)成績(jī)教室安排核對(duì)選課單同意/不同意接收學(xué)生名單學(xué)生已修課任課教師介紹教室安排,教科書(shū)考場(chǎng)安排,通知考試成績(jī)?cè)试S參加考試課堂守則考試教科書(shū)名課堂安排考試工廠管理信息系統(tǒng)例子實(shí)例二:假設(shè)我們要開(kāi)發(fā)一個(gè)工廠管理信息系統(tǒng)。1.經(jīng)過(guò)可行性分析和初步需求調(diào)查,抽象出該系統(tǒng)最高層數(shù)據(jù)流圖,該系統(tǒng)由物質(zhì)管理、銷(xiāo)售管理、勞動(dòng)人事管理等子系統(tǒng)組成,每個(gè)子系統(tǒng)分別配備一個(gè)開(kāi)發(fā)小組。2.進(jìn)一步細(xì)化各個(gè)子系統(tǒng)。 其中銷(xiāo)售子系統(tǒng)的主要功能是:處理顧客和銷(xiāo)售員送來(lái)的訂單;工廠是根據(jù)訂貨安排生產(chǎn)的;交出貨物同時(shí)開(kāi)出發(fā)票;收到顧客付款后,根據(jù)發(fā)票存根和信貸情況進(jìn)行應(yīng)收款處理。通過(guò)詳細(xì)的信息流程分析和數(shù)據(jù)收集后,生成了該子系統(tǒng)的數(shù)據(jù)流圖。12.1需求分析12.1.1需求分析的任務(wù)和過(guò)程12.1.2數(shù)據(jù)流圖12.1.3數(shù)據(jù)字典12.1.4需求分析的注意點(diǎn)12.1.3數(shù)據(jù)字典一、數(shù)據(jù)字典的用途二、數(shù)據(jù)字典的內(nèi)容一、數(shù)據(jù)字典的用途數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果數(shù)據(jù)字典在數(shù)據(jù)庫(kù)設(shè)計(jì)中占有很重要的地位二、數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)項(xiàng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)處理過(guò)程數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)字典通過(guò)對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來(lái)描述數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。⒈數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位對(duì)數(shù)據(jù)項(xiàng)的描述

數(shù)據(jù)項(xiàng)描述={數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說(shuō)明,別名,數(shù)據(jù)類(lèi)型,長(zhǎng)度,取值范圍,取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系}取值范圍、與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系定義了數(shù)據(jù)的完整性約束條件。⒉數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。對(duì)數(shù)據(jù)結(jié)構(gòu)的描述

數(shù)據(jù)結(jié)構(gòu)描述={數(shù)據(jù)結(jié)構(gòu)名,含義說(shuō)明,組成:{數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)}}⒊數(shù)據(jù)流

數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?duì)數(shù)據(jù)流的描述

數(shù)據(jù)流描述={數(shù)據(jù)流名,說(shuō)明,數(shù)據(jù)流來(lái)源,數(shù)據(jù)流去向,組成:{數(shù)據(jù)結(jié)構(gòu)},平均流量,高峰期流量}數(shù)據(jù)流來(lái)源:來(lái)自哪個(gè)過(guò)程。數(shù)據(jù)流去向:將到哪個(gè)過(guò)程去。平均流量:?jiǎn)挝粫r(shí)間里的傳輸次數(shù)。高峰期流量則:高峰時(shí)期的數(shù)據(jù)流量。數(shù)據(jù)項(xiàng)例子例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。數(shù)據(jù)項(xiàng),以“學(xué)號(hào)”為例:

數(shù)據(jù)項(xiàng):學(xué)號(hào)

含義說(shuō)明:唯一標(biāo)識(shí)每個(gè)學(xué)生

別名:學(xué)生編號(hào)

類(lèi)型:字符型

長(zhǎng)度:

8

取值范圍:00000000至99999999

取值含義:前兩位標(biāo)別該學(xué)生所在年級(jí),后六位按順序編號(hào)

與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系:數(shù)據(jù)結(jié)構(gòu)例子數(shù)據(jù)結(jié)構(gòu)

以“學(xué)生”為例 “學(xué)生”是該系統(tǒng)中的一個(gè)核心數(shù)據(jù)結(jié)構(gòu):

數(shù)據(jù)結(jié)構(gòu):學(xué)生

含義說(shuō)明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了一個(gè)學(xué)生的有關(guān)信息組成:學(xué)號(hào),姓名,性別,年齡,所在系,年級(jí)數(shù)據(jù)流例子數(shù)據(jù)流“體檢結(jié)果”可如下描述:

數(shù)據(jù)流:體檢結(jié)果

說(shuō)明:學(xué)生參加體格檢查的最終結(jié)果

數(shù)據(jù)流來(lái)源:體檢

數(shù)據(jù)流去向:批準(zhǔn)

組成:

……

平均流量:

……

高峰期流量:……12.1需求分析12.1.1需求分析的任務(wù)和過(guò)程12.1.2數(shù)據(jù)流圖12.1.3數(shù)據(jù)字典12.1.4需求分析的注意點(diǎn)12.1.4需求分析的注意點(diǎn)用戶參與的重要性用原型法來(lái)幫助用戶確定他們的需求預(yù)測(cè)系統(tǒng)的未來(lái)改變12.2概念結(jié)構(gòu)設(shè)計(jì)將用戶在第一步形成的信息需求抽象為信息結(jié)構(gòu)即概念模型的過(guò)程就是概念結(jié)構(gòu)設(shè)計(jì)(是關(guān)鍵)。12.2.1概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟12.2.2局部視圖設(shè)計(jì)12.2.3視圖的集成12.2.1概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟設(shè)計(jì)概念結(jié)構(gòu)的四類(lèi)方法自頂向下首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。自底向上首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來(lái),得到全局概念結(jié)構(gòu)。12.2.1概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))逐步擴(kuò)張首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)混合策略將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。設(shè)計(jì)概念結(jié)構(gòu)的策略1自頂向下策略需求全局概念模式概念模式概念模式…概念模式概念模式概念模式概念模式……………自底向上策略

設(shè)計(jì)概念結(jié)構(gòu)的策略2需求全局概念模式概念模式概念模式概念模式概念模式概念模式概念模式…………需求需求需求逐步擴(kuò)張策略

設(shè)計(jì)概念結(jié)構(gòu)的策略3核心概念結(jié)構(gòu)全局概念結(jié)構(gòu)……核心需求核心需求12.2概念結(jié)構(gòu)設(shè)計(jì)(續(xù))概念結(jié)構(gòu)設(shè)計(jì)步驟:抽象數(shù)據(jù)并設(shè)計(jì)局部視圖。集成局部視圖,得到全局的概念結(jié)構(gòu)。需求分析DFDDD分E-R圖總E-R圖數(shù)據(jù)抽象、局部視圖的設(shè)計(jì)視圖集成返回用戶征求意見(jiàn)直到滿意為止12.2概念結(jié)構(gòu)設(shè)計(jì)12.2.1概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟12.2.2局部視圖設(shè)計(jì)12.2.3視圖的集成12.2.2局部視圖設(shè)計(jì)首先對(duì)需求分析階段收集到的數(shù)據(jù)按照E-R模型的要求進(jìn)行分類(lèi)、組織,形成實(shí)體、實(shí)體的屬性,碼、實(shí)體之間的聯(lián)系類(lèi)型,設(shè)計(jì)分E-R圖。步驟:選擇局部應(yīng)用逐一設(shè)計(jì)分E-R圖⒈選擇局部應(yīng)用需求分析階段,已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述了整個(gè)系統(tǒng)。設(shè)計(jì)分E-R圖需要根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個(gè)適當(dāng)層次的數(shù)據(jù)流圖,讓這組圖中每一部分對(duì)應(yīng)一個(gè)局部應(yīng)用,然后以這一層次的數(shù)據(jù)流圖為出發(fā)點(diǎn),設(shè)計(jì)分E-R圖。1.選擇局部應(yīng)用(續(xù))通常以中層數(shù)據(jù)流圖作為設(shè)計(jì)分E-R圖的依據(jù)。原因:高層數(shù)據(jù)流圖只能反映系統(tǒng)的概貌。中層數(shù)據(jù)流圖能較好地反映系統(tǒng)中各局部應(yīng)用的子系統(tǒng)組成。低層數(shù)據(jù)流圖過(guò)細(xì)。⒉逐一設(shè)計(jì)分E-R圖任務(wù)標(biāo)定局部應(yīng)用中的實(shí)體、屬性、碼,實(shí)體間的聯(lián)系。將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來(lái),參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實(shí)體、實(shí)體的屬性、標(biāo)識(shí)實(shí)體的碼,確定實(shí)體之間的聯(lián)系及其類(lèi)型(1:1,1:n,m:n)2.逐一設(shè)計(jì)分E-R圖(續(xù))設(shè)計(jì)分E-R圖的步驟以數(shù)據(jù)字典為出發(fā)點(diǎn)定義E-R圖。數(shù)據(jù)字典中的“數(shù)據(jù)結(jié)構(gòu)”、“數(shù)據(jù)流”和“數(shù)據(jù)存儲(chǔ)”等已是若干屬性的有意義的聚合。按實(shí)體和屬性的準(zhǔn)則進(jìn)行必要的調(diào)整。現(xiàn)實(shí)世界的事物能作為屬性對(duì)待的,盡量作為屬性對(duì)待。2.逐一設(shè)計(jì)分E-R圖(續(xù))例:學(xué)籍管理局部應(yīng)用中主要涉及的實(shí)體包括學(xué)生、宿舍、檔案材料、班級(jí)、班主任。實(shí)體之間的聯(lián)系:由于一個(gè)宿舍可以住多個(gè)學(xué)生,而一個(gè)學(xué)生只能住在某一個(gè)宿舍中,因此宿舍與學(xué)生之間是1:n的聯(lián)系。由于一個(gè)班級(jí)往往有若干名學(xué)生,而一個(gè)學(xué)生只能屬于一個(gè)班級(jí),因此班級(jí)與學(xué)生之間也是1:n的聯(lián)系。2.逐一設(shè)計(jì)分E-R圖(續(xù))由于班主任同時(shí)還要教課,因此班主任與學(xué)生之間存在指導(dǎo)聯(lián)系,一個(gè)班主任要教多名學(xué)生,而一個(gè)學(xué)生只對(duì)應(yīng)一個(gè)班主任,因此班主任與學(xué)生之間也是1:n的聯(lián)系。而學(xué)生和他自己的檔案材料之間,班級(jí)與班主任之間都是1:1的聯(lián)系。學(xué)籍管理局部應(yīng)用的分E-R圖草圖:

學(xué)籍管理局部應(yīng)用的E-R草圖班主任班級(jí)教室管理上課指導(dǎo)組成宿舍學(xué)生檔案材料住宿歸檔11mn11nn1n112.逐一設(shè)計(jì)分E-R圖(續(xù))接下來(lái)需要進(jìn)一步斟酌該E-R圖,做適當(dāng)調(diào)整。在一般情況下,性別通常作為學(xué)生實(shí)體的屬性,但在本局部應(yīng)用中,由于宿舍分配與學(xué)生性別有關(guān),應(yīng)該把性別作為實(shí)體對(duì)待。數(shù)據(jù)存儲(chǔ)“學(xué)生登記表”,由于是手工填寫(xiě),供存檔使用,其中有用的部分已轉(zhuǎn)入學(xué)生檔案材料中,因此這里就不必作為實(shí)體了。最后得到學(xué)籍管理局部應(yīng)用的分E-R圖:學(xué)籍管理局部應(yīng)用的分E-R圖指導(dǎo)11班主任班級(jí)教室管理上課組成性別學(xué)生檔案材料擁有歸檔11mn11nn1n11宿舍住宿為節(jié)省篇幅,該E-R圖省略了各個(gè)實(shí)體的屬性描述。學(xué)籍管理系統(tǒng)分E-R圖屬性各個(gè)實(shí)體的屬性描述為:

學(xué)生:{學(xué)號(hào),姓名,出生日期}

性別:{性別}

檔案材料:{檔案號(hào),……}

班級(jí):{班級(jí)號(hào),學(xué)生人數(shù)}

班主任:{職工號(hào),姓名,性別,是否為優(yōu)秀班主任}宿舍:{宿舍編號(hào),地址,人數(shù)}

其中有下劃線的屬性為實(shí)體的碼。課程管理局部應(yīng)用的分E-R圖同樣方法可以得到課程管理局部應(yīng)用的分E-R圖各實(shí)體的屬性分別為:

學(xué)生:{姓名,學(xué)號(hào),性別,年齡,所在系,年級(jí),平均成績(jī)}

課程:{課程號(hào),課程名,學(xué)分}

教師:{職工號(hào),姓名,性別,職稱(chēng)}

教科書(shū):{書(shū)號(hào),書(shū)名,價(jià)錢(qián)}

教室:{教室編號(hào),地址,容量}課程管理部分的分E-R圖教室開(kāi)設(shè)課程選修學(xué)生成績(jī)講授教學(xué)教科書(shū)教師11mn111nmn12.2概念結(jié)構(gòu)設(shè)計(jì)12.2.1概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟12.2.2局部視圖設(shè)計(jì)12.2.3視圖的集成12.2.3視圖的集成各個(gè)局部視圖即分E-R圖建立好后,還需要對(duì)它們進(jìn)行合并,集成為一個(gè)整體的數(shù)據(jù)概念結(jié)構(gòu)即總E-R圖。12.2.3視圖的集成(續(xù))視圖集成的兩種方式:一次集成一次集成多個(gè)分E-R圖通常用于局部視圖比較簡(jiǎn)單時(shí)逐步累積式首先集成兩個(gè)局部視圖(通常是比較關(guān)鍵的兩個(gè)局部視圖)以后每次將一個(gè)新的局部視圖集成進(jìn)來(lái)12.2.3視圖的集成(續(xù))集成局部E-R圖的步驟1.合并2.修改與重構(gòu)12.2.3視圖的集成(續(xù))一、合并分E-R圖,生成初步E-R圖各分E-R圖存在沖突各個(gè)局部應(yīng)用所面向的問(wèn)題不同 由不同的設(shè)計(jì)人員進(jìn)行設(shè)計(jì)

各個(gè)分E-R圖之間必定會(huì)存在許多不一致的地方合并分E-R圖的主要工作與關(guān)鍵所在:合理消除各分E-R圖的沖突一、合并分E-R圖,生成初步E-R圖(續(xù))沖突的種類(lèi)屬性沖突命名沖突結(jié)構(gòu)沖突⒈屬性沖突兩類(lèi)屬性沖突屬性域沖突:屬性值的類(lèi)型、取值范圍或取值集合不同。

屬性取值單位沖突。

例1:某些部門(mén)以出生日期表示學(xué)生的年齡,而另一些部門(mén)用整數(shù)形式表示學(xué)生的年齡。例1:學(xué)生的身高,有的以米為單位,有的以厘米為單位,有的以尺為單位。屬性沖突的解決方法:通常用討論、協(xié)商等行政手段加以解決。例:A將教室稱(chēng)為房間;B將學(xué)生宿舍稱(chēng)為房間⒉命名沖突兩類(lèi)命名沖突同名異義:不同意義的對(duì)象在不同的局部應(yīng)用中具有相同的名字

異名同義(一義多名):同一意義的對(duì)象在不同的局部應(yīng)用中具有不同的名字命名沖突可能發(fā)生在屬性級(jí)、實(shí)體級(jí)、聯(lián)系級(jí)上。其中屬性的命名沖突更為常見(jiàn)。例:A把教科書(shū)稱(chēng)為課本;B把教科書(shū)稱(chēng)為教材命名沖突的解決方法:

通過(guò)討論、協(xié)商等行政手段加以解決。⒊結(jié)構(gòu)沖突三類(lèi)結(jié)構(gòu)沖突同一對(duì)象在不同應(yīng)用中具有不同的抽象。例1:“課程”在某一局部應(yīng)用中被當(dāng)作實(shí)體,在另一局部應(yīng)用中則被當(dāng)作屬性。解決方法:通常是把屬性變換為實(shí)體或把實(shí)體變換為屬性,使同一對(duì)象具有相同的抽象。變換時(shí)要遵循兩個(gè)準(zhǔn)則。3.結(jié)構(gòu)沖突(續(xù))同一實(shí)體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。產(chǎn)生原因:不同的局部應(yīng)用關(guān)心的是該實(shí)體的不同側(cè)面。解決方法:

使該實(shí)體的屬性取各分E-R圖中屬性的并集,再適當(dāng)設(shè)計(jì)屬性的次序。3.結(jié)構(gòu)沖突(續(xù))學(xué)生學(xué)號(hào)姓名性別平均成績(jī)(a)在局部應(yīng)用A中3.結(jié)構(gòu)沖突(續(xù))學(xué)生學(xué)號(hào)姓名出生日期年級(jí)(b)在局部應(yīng)用B中所在系3.結(jié)構(gòu)沖突(續(xù))學(xué)生學(xué)號(hào)姓名政治面貌(c)在局部應(yīng)用C中3.結(jié)構(gòu)沖突(續(xù))學(xué)生政治面貌學(xué)號(hào)出生日期年級(jí)(d)合并后所在系平均成績(jī)姓名性別3.結(jié)構(gòu)沖突(續(xù))實(shí)體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類(lèi)型例1:實(shí)體E1與E2在局部應(yīng)用A中是多對(duì)多聯(lián)系,而在局部應(yīng)用B中是一對(duì)多的。例2:在局部應(yīng)用X中E1與E2發(fā)生聯(lián)系,而在局部應(yīng)用Y中E1、E2、E3三者之間有聯(lián)系。解決方法:

根據(jù)應(yīng)用語(yǔ)義對(duì)實(shí)體聯(lián)系的類(lèi)型進(jìn)行綜合或調(diào)整。合并分E-R圖,生成初步E-R圖實(shí)例例:生成學(xué)校管理系統(tǒng)的初步E-R圖以合并學(xué)籍管理局部視圖,課程管理局部視圖為例這兩個(gè)分E-R圖存在著多方面的沖突:學(xué)籍管理局部視圖課程管理局部視圖部視圖合并分E-R圖,生成初步E-R圖實(shí)例(1)班主任實(shí)際上也屬于教師,也就是說(shuō)學(xué)籍管理中的班主任實(shí)體與課程管理中的教師實(shí)體在一定程度上屬于異名同義,可以應(yīng)將學(xué)籍管理中的班主任實(shí)體與課程管理中的教師實(shí)體統(tǒng)一稱(chēng)為教師,統(tǒng)一后教師實(shí)體的屬性構(gòu)成為:

教師:{職工號(hào),姓名,性別,職稱(chēng),是否為優(yōu)秀班主任}合并分E-R圖,生成初步E-R圖實(shí)例(續(xù))(2)將班主任改為教師后,教師與學(xué)生之間的聯(lián)系在兩個(gè)局部視圖中呈現(xiàn)兩種不同的類(lèi)型:一種是學(xué)籍管理中教師與學(xué)生之間的指導(dǎo)聯(lián)系一種是課程管理中教師與學(xué)生之間的教學(xué)聯(lián)系由于指導(dǎo)聯(lián)系實(shí)際上可以包含在教學(xué)聯(lián)系之中,因此可以將這兩種聯(lián)系綜合為教學(xué)聯(lián)系。合并分E-R圖,生成初步E-R圖實(shí)例(續(xù))(3)性別在兩個(gè)局部應(yīng)用中具有不同的抽象,它在學(xué)籍管理中為實(shí)體,在課程管理中為屬性,按照前面提到的兩個(gè)原則,在合并后的E-R圖中性別只能作為實(shí)體,否則它無(wú)法與宿舍實(shí)體發(fā)生聯(lián)系。合并分E-R圖,生成初步E-R圖實(shí)例(續(xù))(4)在兩個(gè)局部E-R圖中,學(xué)生實(shí)體屬性組成及次序都存在差異,應(yīng)將所有屬性綜合,并重新調(diào)整次序。假設(shè)調(diào)整結(jié)果為:

學(xué)生:{學(xué)號(hào),姓名,出生日期,年齡,所在系,年級(jí),平均成績(jī)}解決上述沖突后,學(xué)籍管理分E-R圖與課程管理分E-R圖合并為:1n教師班級(jí)上課組成性別學(xué)生檔案材料擁有歸檔mnnm111n1n11宿舍住宿教室開(kāi)設(shè)課程選修成績(jī)講授教學(xué)教科書(shū)11nm11mn管理學(xué)生管理子系統(tǒng)的初步E-R圖二、修改與重構(gòu)1.冗余2.消除冗余的方法二、修改與重構(gòu)(續(xù))基本任務(wù)消除不必要的冗余,設(shè)計(jì)生成基本E-R圖合并初步E-R圖分E-R圖可能存在冗余的數(shù)據(jù)和冗余的實(shí)體間聯(lián)系基本E-R圖消除不必要的冗余1.冗余冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù), 冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系。

冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫(kù)的完整性,給數(shù)據(jù)庫(kù)維護(hù)增加困難并不是所有的冗余數(shù)據(jù)與冗余聯(lián)系都必須加以消除,有時(shí)為了提高某些應(yīng)用的效率,不得不以冗余信息作為代價(jià)。1.冗余(續(xù))設(shè)計(jì)數(shù)據(jù)庫(kù)概念結(jié)構(gòu)時(shí),哪些冗余信息必須消除,哪些冗余信息允許存在,需要根據(jù)用戶的整體需求來(lái)確定。消除不必要的冗余后的初步E-R圖稱(chēng)為基本E-R圖。2.消除冗余的方法1.分析方法以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù),根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項(xiàng)之間邏輯關(guān)系的說(shuō)明來(lái)消除冗余。

例,教師工資單中包括該教師的基本工資、各種補(bǔ)貼、應(yīng)扣除的房租水電費(fèi)以及實(shí)發(fā)工資。由于實(shí)發(fā)工資可以由前面各項(xiàng)推算出來(lái),因此可以去掉,在需要查詢實(shí)發(fā)工資時(shí)根據(jù)基本工資、各種補(bǔ)貼、應(yīng)扣除的房租水電費(fèi)數(shù)據(jù)臨時(shí)生成。2.消除冗余的方法(續(xù))如果是為了提高效率,人為地保留了一些冗余數(shù)據(jù),則應(yīng)把數(shù)據(jù)字典中數(shù)據(jù)關(guān)聯(lián)的說(shuō)明作為完整性約束條件。一種更好的方法是把冗余數(shù)據(jù)定義在視圖中。2.消除冗余的方法(續(xù))2.規(guī)范化理論函數(shù)依賴的概念提供了消除冗余聯(lián)系的形式化工具。學(xué)生管理子系統(tǒng)初步E-R圖中的

冗余數(shù)據(jù)和冗余聯(lián)系冗余數(shù)據(jù)和冗余聯(lián)系:(1)學(xué)生實(shí)體中的年齡屬性可以由出生日期推算出來(lái),屬于冗余數(shù)據(jù),應(yīng)該去掉。減少了產(chǎn)生數(shù)據(jù)不一致的機(jī)會(huì)。

學(xué)生:

{學(xué)號(hào),姓名,出生日期,所在系,年級(jí),平均成績(jī)}冗余數(shù)據(jù)和冗余聯(lián)系(續(xù))(2)教室實(shí)體與班級(jí)實(shí)體的上課聯(lián)系可以由教室與課程之間的開(kāi)設(shè)聯(lián)系、課程與學(xué)生之間的選修聯(lián)系、學(xué)生與班級(jí)之間的組成聯(lián)系三者推導(dǎo)出來(lái),因此屬于冗余聯(lián)系,可以消去。冗余數(shù)據(jù)和冗余聯(lián)系(續(xù))(3)學(xué)生實(shí)體中的平均成績(jī)可以從選修聯(lián)系中的成績(jī)屬性中推算出來(lái)由于應(yīng)用中需要經(jīng)常查詢某個(gè)學(xué)生的平均成績(jī),每次都進(jìn)行這種計(jì)算效率就會(huì)太低,因此為提高效率,保留該冗余數(shù)據(jù)。可定義一個(gè)觸發(fā)器來(lái)保證學(xué)生的平均成績(jī)等于該學(xué)生各科成績(jī)的平均值。任何一科成績(jī)修改后,或該學(xué)生學(xué)了新的科目并有成績(jī)后,就觸發(fā)該觸發(fā)器去修改該學(xué)生的平均成績(jī)屬性值。修改和重構(gòu)后的學(xué)生管理子系統(tǒng)基本E-R圖1n教師班級(jí)組成性別學(xué)生檔案材料擁有歸檔mn111n1n11宿舍住宿教室開(kāi)設(shè)課程選修成績(jī)講授教學(xué)教科書(shū)11nm11mn管理第十二章數(shù)據(jù)庫(kù)設(shè)計(jì)步驟12.1需求分析12.2概念結(jié)構(gòu)設(shè)計(jì)12.3邏輯結(jié)構(gòu)設(shè)計(jì)12.4數(shù)據(jù)庫(kù)的物理設(shè)計(jì)12.5數(shù)據(jù)庫(kù)實(shí)施12.6數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)12.7小結(jié)12.3邏輯結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)是獨(dú)立于任何DBMS數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計(jì)是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)完成的基本E-R圖轉(zhuǎn)化為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。12.3邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ)。將概念結(jié)構(gòu)進(jìn)一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,以能夠用某一DBMS實(shí)現(xiàn)用戶需求。主要工作E-R圖向關(guān)系模型的轉(zhuǎn)換數(shù)據(jù)模型的優(yōu)化12.3邏輯結(jié)構(gòu)設(shè)計(jì)(續(xù))邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)化為一般數(shù)據(jù)模型轉(zhuǎn)化為特定DBMS支持下數(shù)據(jù)模型優(yōu)化模型概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)基本E-R圖轉(zhuǎn)換規(guī)則特定DBMS的特點(diǎn)與限制優(yōu)化方法如規(guī)范化理論邏輯模型12.3邏輯結(jié)構(gòu)設(shè)計(jì)(續(xù))概念結(jié)構(gòu)基本E-R圖關(guān)系數(shù)據(jù)模型優(yōu)化的數(shù)據(jù)模型轉(zhuǎn)換規(guī)則優(yōu)化方法邏輯結(jié)構(gòu)設(shè)計(jì)步驟12.3.1E-R模型向關(guān)系模型轉(zhuǎn)換解決的問(wèn)題:將E-R圖轉(zhuǎn)換為關(guān)系模型;將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式;并確定這些關(guān)系模式的屬性和碼。12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))轉(zhuǎn)換原則⒈一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性:實(shí)體型的屬性關(guān)系的碼:實(shí)體型的碼學(xué)生學(xué)號(hào)出生日期年級(jí)所在系平均成績(jī)姓名例:學(xué)生實(shí)體可以轉(zhuǎn)換為如下關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),平均成績(jī))12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))⒉實(shí)體間的聯(lián)系一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。1)轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的候選碼:每個(gè)實(shí)體的碼均是該關(guān)系的候選碼2)與某一端對(duì)應(yīng)的關(guān)系模式合并合并后關(guān)系的屬性:加入對(duì)應(yīng)關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))注意:從理論上講,1:1聯(lián)系可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。但有時(shí),與不同的關(guān)系模式合并效率會(huì)大不一樣。因此究竟應(yīng)該與哪端的關(guān)系模式合并需要依應(yīng)用的具體情況而定。由于連接操作是最費(fèi)時(shí)的操作,所以一般應(yīng)以盡量減少連接操作為目標(biāo)。12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)當(dāng)關(guān)系模式合并。1)轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性。關(guān)系的碼:n端實(shí)體的碼。2)與n端對(duì)應(yīng)的關(guān)系模式合并合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變可以減少系統(tǒng)中的關(guān)系個(gè)數(shù),一般情況下更傾向于采用這種方法。12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例,“組成”聯(lián)系為1:n聯(lián)系。 將其轉(zhuǎn)換為關(guān)系模式的兩種方法:

1)使其成為一個(gè)獨(dú)立的關(guān)系模式:

2)將其學(xué)生關(guān)系模式合并:

組成(學(xué)號(hào),班級(jí)號(hào))學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī))12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性。關(guān)系的碼:各實(shí)體碼的組合。例,“選修”聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號(hào)與課程號(hào)為關(guān)系的組合碼:選修(學(xué)號(hào),課程號(hào),成績(jī))12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))關(guān)系的屬性:與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:各實(shí)體碼的組合例,“講授”聯(lián)系是一個(gè)三元聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中課程號(hào)、職工號(hào)和書(shū)號(hào)為關(guān)系的組合碼:

講授(課程號(hào),職工號(hào),書(shū)號(hào))三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))具有相同碼的關(guān)系模式可合并。

目的:減少系統(tǒng)中的關(guān)系個(gè)數(shù)。

合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序。12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))例,“擁有”關(guān)系模式:擁有(學(xué)號(hào),性別)學(xué)生關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī))都以學(xué)號(hào)為碼,可以將它們合并為一個(gè)關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,性別,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī))12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))按照上述原則,學(xué)生管理子系統(tǒng)中的18個(gè)實(shí)體和聯(lián)系可以轉(zhuǎn)換為下列關(guān)系模型:

學(xué)生(學(xué)號(hào),姓名,性別,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī),檔案號(hào)) 性別(性別,宿舍編號(hào))

宿舍(宿舍編號(hào),地址,人數(shù))

班級(jí)(班級(jí)號(hào),學(xué)生人數(shù))

教師(職工號(hào),姓名,性別,職稱(chēng),班級(jí)號(hào),是否為優(yōu)秀班主任)

12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))

教學(xué)(職工號(hào),學(xué)號(hào))

課程(課程號(hào),課程名,學(xué)分,教室號(hào))

選修(學(xué)號(hào),課程號(hào),成績(jī))

教科書(shū)(書(shū)號(hào),書(shū)名,價(jià)錢(qián))

教室(教室編號(hào),地址,容量)

講授(課程號(hào),教師號(hào),書(shū)號(hào))

檔案材料(檔案號(hào),……)12.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))該關(guān)系模型由12個(gè)關(guān)系模式組成。其中:學(xué)生關(guān)系模式包含了“擁有”、“組成”和“歸檔”三個(gè)聯(lián)系所對(duì)應(yīng)的關(guān)系模式教師關(guān)系模式包含了“管理”聯(lián)系所對(duì)應(yīng)的關(guān)系模式;宿舍關(guān)系模式包含了“住宿”聯(lián)系所對(duì)應(yīng)的關(guān)系模式;課程關(guān)系模式包含了“開(kāi)設(shè)”聯(lián)系所對(duì)應(yīng)的關(guān)系模式。12.3.2數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果不是唯一的。初步數(shù)據(jù)模型設(shè)計(jì)出來(lái)后,還要做適當(dāng)?shù)匦薷摹⒄{(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))優(yōu)化數(shù)據(jù)模型的方法⒈確定數(shù)據(jù)依賴按需求分析階段所得到的語(yǔ)義,分別寫(xiě)出每個(gè)關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴。

12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))例,課程關(guān)系模式內(nèi)部存在下列數(shù)據(jù)依賴:課程號(hào)→課程名課程號(hào)→學(xué)分課程號(hào)→教室號(hào)選修關(guān)系模式中存在下列數(shù)據(jù)依賴:(學(xué)號(hào),課程號(hào))→成績(jī)

12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))學(xué)生關(guān)系模式中存在下列數(shù)據(jù)依賴:學(xué)號(hào)→姓名學(xué)號(hào)→性別學(xué)號(hào)→出生日期學(xué)號(hào)→所在系 學(xué)號(hào)→年級(jí)學(xué)號(hào)→班級(jí)號(hào)學(xué)號(hào)→平均成績(jī)學(xué)號(hào)→檔案號(hào)12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))⒉對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。⒊按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。

例如經(jīng)過(guò)分析可知,課程關(guān)系模式屬于BC范式。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))⒋按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解。并不是規(guī)范化程度越高的關(guān)系就越優(yōu)。當(dāng)一個(gè)查詢中經(jīng)常涉及到兩個(gè)或多個(gè)關(guān)系模式的屬性時(shí),需進(jìn)行聯(lián)接運(yùn)算,而聯(lián)系運(yùn)算的代價(jià)是高的,關(guān)系模型低效的主要因?yàn)樽雎?lián)接運(yùn)算引起的,因此,第二范式甚至第一范式也許是最好的。非BCNF的關(guān)系模式雖然從理論上分析會(huì)存在不同程度的更新異常,但如果在實(shí)際應(yīng)用中對(duì)此關(guān)系模式只是查詢,并不執(zhí)行更新操作,則就不會(huì)產(chǎn)生實(shí)際影響。對(duì)于一個(gè)具體應(yīng)用來(lái)說(shuō),到底規(guī)范化進(jìn)行到什么程度,需要權(quán)衡響應(yīng)時(shí)間和潛在問(wèn)題兩者的利弊才能決定。一般說(shuō)來(lái),第三范式就足夠了。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))例:在關(guān)系模式學(xué)生成績(jī)單(學(xué)號(hào),英語(yǔ),數(shù)學(xué),語(yǔ)文,平均成績(jī))

中存在下列函數(shù)依賴:學(xué)號(hào)→英語(yǔ)學(xué)號(hào)→數(shù)學(xué)學(xué)號(hào)→語(yǔ)文學(xué)號(hào)→平均成績(jī)

(英語(yǔ),數(shù)學(xué),語(yǔ)文)→平均成績(jī)12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))顯然有:學(xué)號(hào)→(英語(yǔ),數(shù)學(xué),語(yǔ)文)

因此該關(guān)系模式中存在傳遞函數(shù)依賴,是2NF關(guān)系。雖然平均成績(jī)可以由其他屬性推算出來(lái),但如果應(yīng)用中需要經(jīng)常查詢學(xué)生的平均成績(jī),為提高效率,仍可保留該冗余數(shù)據(jù),對(duì)關(guān)系模式不再做進(jìn)一步分解。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))⒌

按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,對(duì)關(guān)系模式進(jìn)行必要的分解或合并,以提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率。常用分解方法水平分解垂直分解12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))水平分解什么是水平分解把(基本)關(guān)系的元組分為若干子集合,定義每個(gè)子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))水平分解的適用范圍1.滿足“80/20原則”的應(yīng)用80/20原則:一個(gè)大關(guān)系中,經(jīng)常被使用的數(shù)據(jù)只是關(guān)系的一部分,約20%把經(jīng)常使用的數(shù)據(jù)分解出來(lái),形成一個(gè)子關(guān)系,可以減少查詢的數(shù)據(jù)量。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))水平分解的適用范圍2.并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù)如果關(guān)系R上具有n個(gè)事務(wù),而且多數(shù)事務(wù)存取的數(shù)據(jù)不相交,則R可分解為少于或等于n個(gè)子關(guān)系,使每個(gè)事務(wù)存取的數(shù)據(jù)對(duì)應(yīng)一個(gè)關(guān)系。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))垂直分解什么是垂直分解把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式。垂直分解的原則經(jīng)常在一起使用的屬性從R中分解出來(lái)形成一個(gè)子關(guān)系模式。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))垂直分解的優(yōu)點(diǎn)可以提高某些事務(wù)的效率垂直分解的缺點(diǎn)可能使另一些事務(wù)不得不執(zhí)行連接操作,從而降低了效率。12.3.2數(shù)據(jù)模型的優(yōu)化(續(xù))垂直分解的適用范圍取決于分解后R上的所有事務(wù)的總效率是否得到了提高。進(jìn)行垂直分解的方法簡(jiǎn)單情況:直觀分解復(fù)雜情況:用模式分解算法垂直分解必須不損失關(guān)系模式的語(yǔ)義(保持無(wú)損連接性和保持函數(shù)依賴)。12.3.3設(shè)計(jì)用戶子模式定義數(shù)據(jù)庫(kù)模式主要是從系統(tǒng)的時(shí)間效率、空間效率、易維護(hù)等角度出發(fā)。定義用戶外模式時(shí)應(yīng)該更注重考慮用戶的習(xí)慣與方便。包括三個(gè)方面:

12.3.3設(shè)計(jì)用戶子模式(續(xù))(1)使用更符合用戶習(xí)慣的別名合并各分E-R圖曾做了消除命名沖突的工作,以使數(shù)據(jù)庫(kù)系統(tǒng)中同一關(guān)系和屬性具有唯一的名字。這在設(shè)計(jì)數(shù)據(jù)庫(kù)整體結(jié)構(gòu)時(shí)是非常必要的。但對(duì)于某些局部應(yīng)用,由于改用了不符合用戶習(xí)慣的屬性名,可能會(huì)使他們感到不方便,12.3.3設(shè)計(jì)用戶子模式(續(xù))因此在設(shè)計(jì)用戶的子模式時(shí)可以重新定義某些屬性名,使其與用戶習(xí)慣一致。當(dāng)然,為了應(yīng)用的規(guī)范化,我們也不應(yīng)該一味地遷就用戶。例:負(fù)責(zé)學(xué)籍管理的用戶習(xí)慣于稱(chēng)教師模式的職工號(hào)為教師編號(hào)。因此可以定義視圖,在視圖中職工號(hào)重定義為教師編號(hào)12.3.3設(shè)計(jì)用戶子模式(續(xù))

(2)針對(duì)不同級(jí)別的用戶定義不同的外模式,以滿足系統(tǒng)對(duì)安全性的要求。例:教師關(guān)系模式中包括職工號(hào)、姓名、性別、出生日期、婚姻狀況、學(xué)歷、學(xué)位、政治面貌、職稱(chēng)、職務(wù)、工資、工齡、教學(xué)效果等屬性。

學(xué)籍管理應(yīng)用只能查詢教師的職工號(hào)、姓名、性別、職稱(chēng)數(shù)據(jù);

課程管理應(yīng)用只能查詢教師的職工號(hào)、姓名、性別、學(xué)歷、學(xué)位、職稱(chēng)、教學(xué)效果數(shù)據(jù);教師管理應(yīng)用則可以查詢教師的全部數(shù)據(jù)。12.3.3設(shè)計(jì)用戶子模式(續(xù))定義兩個(gè)外模式:教師_學(xué)籍管理(職工號(hào),姓名,性別,職稱(chēng))教師_課程管理(工號(hào),姓名,性別,學(xué)歷,學(xué)位,職稱(chēng),教學(xué)效果)授權(quán)學(xué)籍管理應(yīng)用只能訪問(wèn)教師_學(xué)籍管理視圖授權(quán)課程管理應(yīng)用只能訪問(wèn)教師_課程管理視圖授權(quán)教師管理應(yīng)用能訪問(wèn)教師這樣就可以防止用戶非法訪問(wèn)本來(lái)不允許他們查詢的數(shù)據(jù),保證了系統(tǒng)的安全性。12.3.3設(shè)計(jì)用戶子模式(續(xù))(3)簡(jiǎn)化用戶對(duì)系統(tǒng)的使用如果某些局部應(yīng)用中經(jīng)常要使用某些很復(fù)雜的查詢,為了方便用戶,可以將這些復(fù)雜查詢定義為視圖。第十二章數(shù)據(jù)庫(kù)設(shè)計(jì)步驟12.1需求分析12.2概念結(jié)構(gòu)設(shè)計(jì)12.3邏輯結(jié)構(gòu)設(shè)計(jì)12.4數(shù)據(jù)庫(kù)的物理設(shè)計(jì)12.5數(shù)據(jù)庫(kù)實(shí)施12.6數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)12.7小結(jié)12.4數(shù)據(jù)庫(kù)的物理設(shè)計(jì)數(shù)據(jù)庫(kù)的物理設(shè)計(jì)概念數(shù)據(jù)庫(kù)的物理結(jié)構(gòu):數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法。數(shù)據(jù)庫(kù)的物理設(shè)計(jì):為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程。數(shù)據(jù)庫(kù)物理設(shè)計(jì)的步驟步驟1:確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)步驟2:對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率如果評(píng)價(jià)結(jié)果滿足原設(shè)計(jì)要求則可進(jìn)入到物理實(shí)施階段,否則,就需要重新設(shè)計(jì)或修改物理結(jié)構(gòu),有時(shí)甚至要返回邏輯設(shè)計(jì)階段修改數(shù)據(jù)模型。

數(shù)據(jù)庫(kù)物理設(shè)計(jì)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)評(píng)價(jià)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)施物理模型邏輯模型12.4.1數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容為關(guān)系模式選擇存取方法,建立存取路徑。確定物理存儲(chǔ)結(jié)構(gòu),即設(shè)計(jì)關(guān)系、索引、聚簇、日志、備份等數(shù)據(jù)的存儲(chǔ)安排和存儲(chǔ)結(jié)構(gòu)。確定系統(tǒng)配置。12.4.2關(guān)系模式存取方法選擇DBMS常用存取方法索引方法,目前主要是B+樹(shù)索引方法聚簇(Cluster)方法HASH方法一、存取方法概述DBMS常用存取方法1.索引方法:目前主要是B+樹(shù)索引方法、基于函數(shù)的索引、反向索引、位映射索引。2.Hash方法:是用Hash函數(shù)來(lái)存儲(chǔ)和存取關(guān)系記錄的方法。即:指定某關(guān)系上一組屬性A作為Hash碼,然后對(duì)該Hash碼定義一個(gè)函數(shù),關(guān)系記錄的存儲(chǔ)地址由Hash(a)來(lái)決定,a是記錄在屬性A上的值。一、存取方法概述(續(xù))3.聚簇(Cluster)方法:為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)或這些屬性(稱(chēng)為聚簇碼)具有相同值的元組集中存放在連續(xù)的物理塊中稱(chēng)為聚簇。聚簇既適用于單個(gè)關(guān)系獨(dú)立聚簇,也適用于經(jīng)常進(jìn)行連接操作的多個(gè)關(guān)系。一個(gè)數(shù)據(jù)庫(kù)可以建立多個(gè)聚簇,一個(gè)關(guān)系只能加入一個(gè)聚簇一、存取方法概述(續(xù))聚簇的局限性1.聚簇只能提高某些特定應(yīng)用的性能2.建立與維護(hù)聚簇的開(kāi)銷(xiāo)相當(dāng)大對(duì)已有關(guān)系建立聚簇,將導(dǎo)致關(guān)系中元組移動(dòng)其物理存儲(chǔ)位置,并使此關(guān)系上原有的索引無(wú)效,必須重建。當(dāng)一個(gè)元組的聚簇碼改變時(shí),該元組的存儲(chǔ)位置也要做相應(yīng)移動(dòng)。二、存取方法選擇1.索引存取方法的選擇選擇索引存取方法的主要內(nèi)容 根據(jù)應(yīng)用要求確定對(duì)哪些屬性列建立索引對(duì)哪些屬性列建立組合索引對(duì)哪些索引要設(shè)計(jì)為唯一索引二、存取方法選擇(續(xù))選擇索引存取方法的一般規(guī)則(建立索引的屬性選擇)若一個(gè)(或一組)屬性經(jīng)常在查詢條件中出現(xiàn);若一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù);若一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn);二、存取方法選擇(續(xù))索引并不是越多越好,若關(guān)系上更新操作頻繁,則索引不能太多。關(guān)系上定義的索引數(shù)過(guò)多會(huì)帶來(lái)較多額外開(kāi)銷(xiāo)。維護(hù)索引的開(kāi)銷(xiāo)查找索引的開(kāi)銷(xiāo)二、存取方法選擇(續(xù))2.HASH存取方法的選擇選擇HASH存取方法的規(guī)則當(dāng)一個(gè)關(guān)系滿足下列兩個(gè)條件時(shí),可以選擇HASH存取方法該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中。該關(guān)系的大小可預(yù)知,而且變化不大;二、存取方法選擇(續(xù))3.聚簇存取方法的選擇內(nèi)容:確定需要建立多少個(gè)聚簇,每個(gè)聚簇包含哪些關(guān)系。建立聚簇的基本原則:經(jīng)常一起進(jìn)行連接操作的關(guān)系若一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中若一個(gè)關(guān)系的一組屬性上的值重復(fù)率很高。二、存取方法選擇(續(xù))當(dāng)通過(guò)聚簇碼進(jìn)行訪問(wèn)或連接是該關(guān)系的主要應(yīng)用,與聚簇碼無(wú)關(guān)的其他訪問(wèn)很少或者是次要的時(shí),可以使用聚簇。尤其當(dāng)SQL語(yǔ)句中包含有與聚簇碼有關(guān)的ORDERBY,GROUPBY,UNION,DISTINCT等子句或短語(yǔ)時(shí),使用聚簇特別有利,可以省去對(duì)結(jié)果集的排序操作。12.4.3確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的內(nèi)容1.確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu)關(guān)系索引聚簇日志備份2.確定系統(tǒng)配置1.確定數(shù)據(jù)的存放位置影響數(shù)據(jù)存放位置和存儲(chǔ)結(jié)構(gòu)的因素硬件環(huán)境應(yīng)用需求存取時(shí)間存儲(chǔ)空間利用率維護(hù)代價(jià)這三個(gè)方面常常是相互矛盾的例:消除一切冗余數(shù)據(jù)雖能夠節(jié)約存儲(chǔ)空間和減少維護(hù)代價(jià),但往往會(huì)導(dǎo)致檢索代價(jià)的增加必須進(jìn)行權(quán)衡,選擇一個(gè)折中方案。1.確定數(shù)據(jù)的存放位置(續(xù))基本原則根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分存取頻率較高部分與存取頻率較低部分分開(kāi)存放,以提高系統(tǒng)性能1.確定數(shù)據(jù)的存放位置(續(xù))例:數(shù)據(jù)庫(kù)數(shù)據(jù)備份、日志文件備份等只在故障恢復(fù)時(shí)才使用,數(shù)據(jù)量很大,可考慮存放在磁帶上。如果計(jì)算機(jī)有多個(gè)磁盤(pán),可以將表和索引分別放在不同的磁盤(pán)上,在查詢時(shí),由于兩個(gè)磁盤(pán)驅(qū)動(dòng)器分別在工作,可以保證物理讀寫(xiě)速度比較快??梢詫⒈容^大的表分別放在兩個(gè)磁盤(pán)上,以加快存取速度,這在多用戶環(huán)境下特別有效??梢詫⑷罩疚募c數(shù)據(jù)庫(kù)對(duì)象(表、索引等)放在不同的磁盤(pán)以改進(jìn)系統(tǒng)的性能。2.確定系統(tǒng)配置DBMS產(chǎn)品一般都提供了一些存儲(chǔ)分配參數(shù)

同時(shí)使用數(shù)據(jù)庫(kù)的用戶數(shù)同時(shí)打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象數(shù)使用的緩沖區(qū)長(zhǎng)度、個(gè)數(shù)時(shí)間片大小數(shù)據(jù)庫(kù)的大小裝填因子鎖的數(shù)目2.確定系統(tǒng)配置(續(xù))系統(tǒng)都為這些變量賦予了合理的缺省值。但是這些值不一定適合每一種應(yīng)用環(huán)境,在進(jìn)行物理設(shè)計(jì)時(shí),需要根據(jù)應(yīng)用環(huán)境確定這些參數(shù)值,以使系統(tǒng)性能最優(yōu)。

在物理設(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)性能。12.4.4評(píng)價(jià)物理結(jié)構(gòu)評(píng)價(jià)內(nèi)容:空間效率時(shí)間效率維護(hù)代價(jià)各種用戶要求對(duì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)過(guò)程中產(chǎn)生的多種方案進(jìn)行細(xì)致的評(píng)價(jià),從中選擇一個(gè)較優(yōu)的方案作為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。評(píng)價(jià)物理結(jié)構(gòu)(續(xù))評(píng)價(jià)方法定量估算各種方案存儲(chǔ)空間存取時(shí)間維護(hù)代價(jià)對(duì)估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的物理結(jié)構(gòu)如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計(jì)第十二章數(shù)據(jù)庫(kù)設(shè)計(jì)步驟12.1需求分析12.2概念結(jié)構(gòu)設(shè)計(jì)12.3邏輯結(jié)構(gòu)設(shè)計(jì)12.4數(shù)據(jù)庫(kù)的物理設(shè)計(jì)12.5數(shù)據(jù)庫(kù)實(shí)施12.6數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)12.7小結(jié)12.5數(shù)據(jù)庫(kù)的實(shí)施數(shù)據(jù)庫(kù)實(shí)施的工作內(nèi)容用DDL定義數(shù)據(jù)庫(kù)結(jié)構(gòu)組織數(shù)據(jù)入庫(kù)編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)試運(yùn)行數(shù)據(jù)庫(kù)實(shí)施定義數(shù)據(jù)庫(kù)結(jié)構(gòu)數(shù)據(jù)裝載數(shù)據(jù)庫(kù)試運(yùn)行數(shù)據(jù)庫(kù)物理設(shè)計(jì)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)物理模型編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)系統(tǒng)一、定義數(shù)據(jù)庫(kù)結(jié)構(gòu)確定了數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)后,就可以用所選用的DBMS提供的數(shù)據(jù)定義語(yǔ)言(DDL)來(lái)嚴(yán)格描述數(shù)據(jù)庫(kù)結(jié)構(gòu)。

一、定義數(shù)據(jù)庫(kù)結(jié)構(gòu)(續(xù))例,對(duì)于前面的例子,可以用SQL語(yǔ)句如下定義表結(jié)構(gòu):CREATETABLE學(xué)生

(學(xué)號(hào)CHAR(8),

……………);CREATETABLE課程

(

……………);……………一、定義數(shù)據(jù)庫(kù)結(jié)構(gòu)(續(xù))接下來(lái)是在這些基本表上定義視圖:

CREATEVIEW.... (

…………… ); ……………

如果需要使用聚簇,在建基本表之前,應(yīng)先用CREATECLUSTER語(yǔ)句定義聚族。二、數(shù)據(jù)裝載數(shù)據(jù)庫(kù)結(jié)構(gòu)建立好后,就可以向數(shù)據(jù)庫(kù)中裝載數(shù)據(jù)了。組織數(shù)據(jù)入庫(kù)是數(shù)據(jù)庫(kù)實(shí)施階段最主要的工作。數(shù)據(jù)裝載方法人工方法計(jì)算機(jī)輔助數(shù)據(jù)入庫(kù)二、數(shù)據(jù)裝載(續(xù))人工方法:適用于小型系統(tǒng)步驟1)篩選數(shù)據(jù)。需要裝入數(shù)據(jù)庫(kù)中的數(shù)據(jù)通常都分散在各個(gè)部門(mén)的數(shù)據(jù)文件或原始憑證中,所以首先必須把需要入庫(kù)的數(shù)據(jù)篩選出來(lái)。2)轉(zhuǎn)換數(shù)據(jù)格式。篩選出來(lái)的需要入庫(kù)的數(shù)據(jù),其格式往往不符合數(shù)據(jù)庫(kù)要求,需要進(jìn)行轉(zhuǎn)換。

3)輸入數(shù)據(jù)。將轉(zhuǎn)換好的數(shù)據(jù)輸入計(jì)算機(jī)中。

4)校驗(yàn)數(shù)據(jù)。檢查輸入的數(shù)據(jù)是否有誤。二、數(shù)據(jù)裝載(續(xù))計(jì)算機(jī)輔助數(shù)據(jù)入庫(kù):適用于中大型系統(tǒng)步驟1)篩選數(shù)據(jù)2)輸入數(shù)據(jù)。由錄入員將原始數(shù)據(jù)直接輸入計(jì)算機(jī)中。數(shù)據(jù)輸入子系統(tǒng)應(yīng)提供輸入界面。3)校驗(yàn)數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)采用多種檢驗(yàn)技術(shù)檢查輸入數(shù)據(jù)的正確性。二、數(shù)據(jù)裝載(續(xù))4)

轉(zhuǎn)換數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)的要求,從錄入的數(shù)據(jù)中抽取有用成分,對(duì)其進(jìn)行分類(lèi),然后轉(zhuǎn)換數(shù)據(jù)格式。抽取、分類(lèi)和轉(zhuǎn)換數(shù)據(jù)是數(shù)據(jù)輸入子系統(tǒng)的主要工作,也是數(shù)據(jù)輸入子系統(tǒng)的復(fù)雜性所在。5)綜合數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)對(duì)轉(zhuǎn)換好的數(shù)據(jù)根據(jù)系統(tǒng)的要求進(jìn)一步綜合成最終數(shù)據(jù)。三、編制與調(diào)試應(yīng)用程序數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)應(yīng)該與數(shù)據(jù)設(shè)計(jì)并行進(jìn)行。在數(shù)據(jù)庫(kù)實(shí)施階段,當(dāng)數(shù)據(jù)庫(kù)結(jié)構(gòu)建立好后,就可以開(kāi)始編制與調(diào)試數(shù)據(jù)庫(kù)的應(yīng)用程序。調(diào)試應(yīng)用程序時(shí)由于數(shù)據(jù)入庫(kù)尚

溫馨提示

  • 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)論