版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章
數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)本章通過(guò)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)原理和設(shè)計(jì)方法的介紹,使讀者了解一個(gè)計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的過(guò)程及其設(shè)計(jì)過(guò)程中要解決的問(wèn)題,同時(shí)使讀者對(duì)軟件工程中的概念深刻理解。主要內(nèi)容包括:①需求分析②概念模式的設(shè)計(jì)③邏輯模式的設(shè)計(jì)④物理設(shè)計(jì)
§7.1概述數(shù)據(jù)庫(kù)系統(tǒng)是以數(shù)據(jù)為中心,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下進(jìn)行數(shù)據(jù)的收集、整理、存儲(chǔ)、更新、加工和統(tǒng)計(jì),進(jìn)行信息的查詢和傳播等操作的計(jì)算機(jī)系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)既要滿足用戶的需求,又要與給定的應(yīng)用環(huán)境密切相關(guān),因此必須采用系統(tǒng)化、規(guī)范化的設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。設(shè)計(jì)與使用數(shù)據(jù)庫(kù)系統(tǒng)的過(guò)程是把現(xiàn)實(shí)世界的數(shù)據(jù)經(jīng)過(guò)人為的加工和計(jì)算機(jī)的處理,為現(xiàn)實(shí)世界提供信息的過(guò)程。在給定的DBMS、操作系統(tǒng)和硬件環(huán)境下,表達(dá)用戶的需求,并將其轉(zhuǎn)換為有效的數(shù)據(jù)庫(kù)結(jié)構(gòu),構(gòu)成較好的數(shù)據(jù)庫(kù)模式,這個(gè)過(guò)程稱為數(shù)據(jù)庫(kù)設(shè)計(jì)。要設(shè)計(jì)一個(gè)好的數(shù)據(jù)庫(kù)必須用系統(tǒng)的觀點(diǎn)分析和處理問(wèn)題。數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)開(kāi)發(fā)的全過(guò)程可分為兩大階段:數(shù)據(jù)庫(kù)系統(tǒng)的分析與設(shè)計(jì)階段;數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)施、運(yùn)行與維護(hù)階段。數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)分為需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)四個(gè)階段。
1、需求分析:分析用戶的要求。需求分析是數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的基礎(chǔ),通過(guò)調(diào)查和分析,了解用戶的信息需求和處理需求,并以數(shù)據(jù)流圖、數(shù)據(jù)字典等形式加以描述。
2、概念設(shè)計(jì):主要是把需求分析階段得到的用戶需求抽象化為概念模型。概念設(shè)計(jì)是數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的關(guān)鍵,我們將使用E-R模型作為概念模式設(shè)計(jì)的工具。3、邏輯設(shè)計(jì):就是將概念設(shè)計(jì)階段產(chǎn)生的概念模式轉(zhuǎn)換為邏輯模式。因?yàn)檫壿嬙O(shè)計(jì)與數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)密切相關(guān),所以本章以關(guān)系模型和關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)討論邏輯設(shè)計(jì)。4、物理設(shè)計(jì):是為關(guān)系模式選擇合適的存取方法和存儲(chǔ)結(jié)構(gòu)。§7.1.1數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的任務(wù)數(shù)據(jù)庫(kù)系統(tǒng)的生命周期分為兩個(gè)重要的階段:數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)階段數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)施和運(yùn)行階段其中數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)階段是數(shù)據(jù)庫(kù)系統(tǒng)整個(gè)生命周期中工作量比較大的一個(gè)階段,其質(zhì)量對(duì)整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的影響很大。數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的基本任務(wù)是:
根據(jù)一個(gè)組織部門(mén)的信息需求、處理需求和數(shù)據(jù)庫(kù)的支持環(huán)境(包括DBMS、操作系統(tǒng)和硬件),設(shè)計(jì)出數(shù)據(jù)模式(包括外模式、邏輯(概念)模式和內(nèi)模式)及典型的應(yīng)用程序。其中信息需求表示一個(gè)組織部門(mén)所需要的數(shù)據(jù)及其結(jié)構(gòu);處理需求表示一個(gè)組織部門(mén)需要經(jīng)常進(jìn)行的數(shù)據(jù)處理,例如工資計(jì)算、成績(jī)統(tǒng)計(jì)等。前者表達(dá)了對(duì)數(shù)據(jù)庫(kù)的內(nèi)容及結(jié)構(gòu)的要求,也就是靜態(tài)要求;后者表達(dá)了基于數(shù)據(jù)庫(kù)的數(shù)據(jù)處理要求,也就是動(dòng)態(tài)要求。DBMS、操作系統(tǒng)和硬件是建立數(shù)據(jù)庫(kù)系統(tǒng)的軟、硬件基礎(chǔ),也是其制約因素。數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)有兩種不同的方法:
面向數(shù)據(jù)的設(shè)計(jì)方法(data-orientedapproach),這種設(shè)計(jì)方法以信息需求為主,兼顧處理需求;
面向過(guò)程的設(shè)計(jì)方法(process-orientedapproach),這種設(shè)計(jì)方法以處理需求為主,兼顧信息需求。
用前一種方法設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng),可以比較好地反映數(shù)據(jù)的內(nèi)在聯(lián)系,不但可以滿足當(dāng)前應(yīng)用的需要,還可以滿足潛在應(yīng)用的需要。用第二種方法設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng),可能在使用的初始階段比較好地滿足應(yīng)用的需要,獲得好的性能,但隨著應(yīng)用的發(fā)展和變化,往往會(huì)導(dǎo)致數(shù)據(jù)庫(kù)系統(tǒng)的較大變動(dòng)或者不得不重新設(shè)計(jì)。這兩種設(shè)計(jì)方法,在實(shí)際中都有應(yīng)用。面向過(guò)程的設(shè)計(jì)方法主要用于處理要求比較明確、固定的應(yīng)用系統(tǒng),例如飯店管理。但是在實(shí)際應(yīng)用中,數(shù)據(jù)庫(kù)一般由許多用戶共享,還可能不斷有新的用戶加入,除了常規(guī)的處理要求外,還有許多即席訪問(wèn)。對(duì)于這類數(shù)據(jù)庫(kù)系統(tǒng),最好采用面向數(shù)據(jù)的設(shè)計(jì)方法,使數(shù)據(jù)庫(kù)系統(tǒng)比較合理地模擬一個(gè)組織部門(mén)。通常一個(gè)組織部門(mén)的數(shù)據(jù)是相對(duì)穩(wěn)定的,而處理則是相對(duì)變動(dòng)的,為了設(shè)計(jì)一個(gè)相對(duì)穩(wěn)定的數(shù)據(jù)庫(kù)系統(tǒng),一般采用面向數(shù)據(jù)的設(shè)計(jì)方法。通過(guò)上面的分析我們看到:
數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的任務(wù)有兩個(gè):數(shù)據(jù)模式的設(shè)計(jì),
以數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)為基礎(chǔ)的應(yīng)用程序的設(shè)計(jì)。
應(yīng)用程序是隨著業(yè)務(wù)的發(fā)展而不斷變化的,在有些數(shù)據(jù)庫(kù)系統(tǒng)中(例如情報(bào)檢索),事先很難編出所需的應(yīng)用程序或事務(wù),因此,數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的最基本的任務(wù)是數(shù)據(jù)模式的設(shè)計(jì)。不過(guò),數(shù)據(jù)模式的設(shè)計(jì)必須適應(yīng)數(shù)據(jù)處理的要求,以保證大多數(shù)常用的數(shù)據(jù)處理能夠方便、快速地進(jìn)行。§7.1.2數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的特點(diǎn)1、反復(fù)性(iterative)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)不可能“一氣呵成”,需要反復(fù)推敲和修改才能完成。前階段的設(shè)計(jì)是后階段設(shè)計(jì)的基礎(chǔ)和起點(diǎn),后階段也可向前階段反饋其要求。如此反復(fù)修改,才能比較完善地完成數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)。2、試探性(tentative)與解決一般問(wèn)題不同,數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的結(jié)果經(jīng)常不是唯一的,所以設(shè)計(jì)的過(guò)程通常是一個(gè)試探的過(guò)程。由于在設(shè)計(jì)過(guò)程中,有各種各樣的需求和制約的因素,它們之間有時(shí)可能會(huì)相互矛盾,因此數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)結(jié)果很難達(dá)到非常滿意的效果,常常為了達(dá)到某些方面的優(yōu)化而降低了另一方面的性能。這些取舍是由數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)者權(quán)衡本組織部門(mén)的需求來(lái)決定的。3、分步進(jìn)行(multistage)數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)常常由不同的人員分階段地進(jìn)行。這樣既使整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)變得條理清晰、目的明確,又是技術(shù)上分工的需要。而且分步進(jìn)行可以分段把關(guān),逐級(jí)審查,能夠保證數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的質(zhì)量和進(jìn)度。盡管后階段可能會(huì)向前階段反饋其要求,但在正常情況下,這種反饋修改的工作量不應(yīng)是很大的?!?.1.3數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的步驟
數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)一般分為四個(gè)步驟:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。在數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的整個(gè)過(guò)程中,需求分析和概念設(shè)計(jì)可以獨(dú)立于任何的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),而邏輯設(shè)計(jì)和物理設(shè)計(jì)則與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)密切相關(guān)。數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的各個(gè)階段以及各個(gè)階段的輸入和輸出如圖7.1。數(shù)據(jù)庫(kù)概念模式
DBMS的特征硬件和操作系統(tǒng)的特征數(shù)據(jù)庫(kù)邏輯模式需求分析說(shuō)明書(shū)需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)相關(guān)于數(shù)據(jù)庫(kù)管理系統(tǒng)獨(dú)立于數(shù)據(jù)庫(kù)管理系統(tǒng)總體信息需求處理需求數(shù)據(jù)庫(kù)物理模式圖7.1數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)過(guò)程§7.2需求分析設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng),首先必須確認(rèn)數(shù)據(jù)庫(kù)系統(tǒng)的用戶和用途。由于數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)組織部門(mén)的模擬,數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)者必須對(duì)一個(gè)組織部門(mén)的基本情況有所了解,比如該組織部門(mén)的組織機(jī)構(gòu)、各部門(mén)的聯(lián)系、有關(guān)事物和活動(dòng)以及描述它們的數(shù)據(jù)、信息流程、政策和制度、報(bào)表及其格式和有關(guān)的文檔等。收集和分析這些資料的過(guò)程稱為需求分析。例如在一個(gè)大學(xué),學(xué)生是按照系部、班級(jí)來(lái)進(jìn)行組織,而課程則是按照專業(yè)、任課教師等進(jìn)行組織。每個(gè)學(xué)生需要選修自己專業(yè)內(nèi)的課程并取得成績(jī),而校方則需要統(tǒng)計(jì)每門(mén)課的平均分和學(xué)生的平均成績(jī),這就是學(xué)生和課程之間的聯(lián)系和需要進(jìn)行的處理。需求分析的目標(biāo)是給出應(yīng)用領(lǐng)域中數(shù)據(jù)項(xiàng)、數(shù)據(jù)項(xiàng)之間的關(guān)系和數(shù)據(jù)操作任務(wù)的詳細(xì)定義,為數(shù)據(jù)庫(kù)系統(tǒng)的概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)奠定基礎(chǔ),為優(yōu)化數(shù)據(jù)庫(kù)系統(tǒng)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)提供可靠依據(jù)。設(shè)計(jì)人員應(yīng)與用戶密切合作,用戶則應(yīng)積極參與,從而使設(shè)計(jì)人員對(duì)用戶需求有全面、準(zhǔn)確的理解。需求分析的過(guò)程是對(duì)現(xiàn)實(shí)世界深入了解的過(guò)程,數(shù)據(jù)庫(kù)系統(tǒng)能否正確的反映現(xiàn)實(shí)世界主要取決于需求分析,需求分析人員既要對(duì)數(shù)據(jù)庫(kù)技術(shù)有一定的了解,又要對(duì)組織部門(mén)的情況比較熟悉,一般由數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)人員和本組織部門(mén)的有關(guān)工作人員合作進(jìn)行。需求分析的結(jié)果整理成需求分析說(shuō)明書(shū),這是數(shù)據(jù)庫(kù)技術(shù)人員與應(yīng)用組織部門(mén)的工作人員取得共識(shí)的基礎(chǔ),必須得到有關(guān)組織部門(mén)人員的確認(rèn)。需求分析大致可分為以下三步來(lái)完成:§7.2.2需求信息的整理
需求信息的收集又稱為系統(tǒng)調(diào)查。為了充分地了解用戶可能提出的要求,在調(diào)查研究之前,要做好充分的準(zhǔn)備工作,要明確調(diào)查的目的、調(diào)查的內(nèi)容和調(diào)查的方式。1、調(diào)查的目的
首先,要了解一個(gè)組織部門(mén)的機(jī)構(gòu)設(shè)置,主要業(yè)務(wù)活動(dòng)和職能。其次,要了解本組織部門(mén)的大致工作流程和任務(wù)范圍劃分。這一階段的工作是大量的和繁瑣的。尤其是管理人員缺乏對(duì)計(jì)算機(jī)的了解,他們不知道或不清楚哪些信息對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)者是必要的或重要的,不了解計(jì)算機(jī)在管理中能起什么作用,做哪些工作。另一方面,數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)者缺乏對(duì)管理對(duì)象的了解,不了解管理對(duì)象內(nèi)部的各種聯(lián)系,不了解數(shù)據(jù)處理中的各種要求。由于管理人員與數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)者之間存在著這樣的距離,所以需要管理部門(mén)和數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)者更加緊密地配合,充分提供有關(guān)信息和資料,為數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)打下良好的基礎(chǔ)。2、調(diào)查的內(nèi)容
外部要求:信息的性質(zhì),響應(yīng)的時(shí)間、頻度和如何發(fā)生的規(guī)則,以及對(duì)經(jīng)濟(jì)效益的考慮和要求,安全性及完整性要求。
業(yè)務(wù)現(xiàn)狀:這是調(diào)查的重點(diǎn),包括信息的種類,信息流程,信息的處理方式,各種業(yè)務(wù)工作過(guò)程和各種票據(jù)。
組織機(jī)構(gòu):了解本組織部門(mén)內(nèi)部機(jī)構(gòu)的作用、現(xiàn)狀、存在的問(wèn)題,及是否適應(yīng)計(jì)算機(jī)管理。規(guī)劃中的應(yīng)用范圍和要求。3、調(diào)查方式開(kāi)座談會(huì);跟班作業(yè);請(qǐng)調(diào)查對(duì)象填寫(xiě)調(diào)查表;查看業(yè)務(wù)記錄、票據(jù);個(gè)別交談。
對(duì)高層負(fù)責(zé)人的調(diào)查,最好采用個(gè)別交談方式。在交談之前,應(yīng)給他們一份詳細(xì)的調(diào)查提綱,以便使他們有所準(zhǔn)備。從訪問(wèn)中,可獲得有關(guān)該組織高層管理活動(dòng)和決策過(guò)程的信息需求、該組織的運(yùn)行政策、未來(lái)發(fā)展變化趨勢(shì)等與戰(zhàn)略規(guī)劃有關(guān)的信息。
對(duì)中層管理人員的訪問(wèn),可采用開(kāi)座談會(huì)、個(gè)別交談或發(fā)調(diào)查表、查看業(yè)務(wù)記錄的方式,目的是了解企業(yè)的具體業(yè)務(wù)控制方式和約束條件、不同業(yè)務(wù)之間的接口、日常控制管理的信息需求以及預(yù)測(cè)未來(lái)發(fā)展的潛在信息要求。
對(duì)基層操作人員的調(diào)查,主要采用發(fā)調(diào)查表和個(gè)別交談方式來(lái)了解每項(xiàng)具體業(yè)務(wù)的過(guò)程、數(shù)據(jù)要求和約束條件。§7.2.2需求信息的整理1、業(yè)務(wù)流程分析業(yè)務(wù)流程分析的目的是獲得業(yè)務(wù)流程及業(yè)務(wù)與數(shù)據(jù)聯(lián)系的形式描述。一般采用數(shù)據(jù)流分析法,分析結(jié)果以數(shù)據(jù)流圖(DFD)表示。圖7.2是一個(gè)數(shù)據(jù)流圖的示意圖。圖中有向線表示數(shù)據(jù)流,圓圈中寫(xiě)上處理的名稱、圓圈代表一個(gè)處理、帶有名字的雙線段表示存儲(chǔ)的信息。
輸入處理查找分析輸出處理原始數(shù)據(jù)篩選輸入查找結(jié)果格式化輸出存儲(chǔ)文件圖7-2數(shù)據(jù)流圖示意圖舉例:下面是學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的業(yè)務(wù)流程分析,原始的數(shù)據(jù)是學(xué)生的成績(jī),系統(tǒng)要求統(tǒng)計(jì)學(xué)生的成績(jī),并根據(jù)成績(jī)統(tǒng)計(jì)的結(jié)果由獎(jiǎng)學(xué)金評(píng)委評(píng)選出獲得獎(jiǎng)學(xué)金的學(xué)生,其數(shù)據(jù)流圖如圖7.3輸入處理產(chǎn)生報(bào)表輸出處理成績(jī)清單統(tǒng)計(jì)整理報(bào)表清單獲獎(jiǎng)清單存儲(chǔ)文件圖7-3學(xué)生成績(jī)統(tǒng)計(jì)數(shù)據(jù)流圖2、分析結(jié)果的描述為了清楚地描述需求分析的結(jié)果,需要整理出數(shù)據(jù)清單,分類編寫(xiě),以供設(shè)計(jì)階段使用,并可作為驗(yàn)收的依據(jù)。①數(shù)據(jù)項(xiàng)清單:列出每個(gè)數(shù)據(jù)項(xiàng)的名稱、含義、來(lái)源、類型和長(zhǎng)度等。②業(yè)務(wù)活動(dòng)清單:列出每一部門(mén)中最基本的工作任務(wù),包括任務(wù)的定義、操作類型、③執(zhí)行頻度、所屬部門(mén)及涉及的數(shù)據(jù)項(xiàng)等。④完整性一致性要求。⑤安全性要求。⑥響應(yīng)時(shí)間要求。⑦預(yù)期變化的影響。3、評(píng)審評(píng)審的目的在于確認(rèn)某一階段的任務(wù)是否全部完成,以免重大的疏漏和錯(cuò)誤。評(píng)審要有項(xiàng)目組以外的專家和主管部門(mén)負(fù)責(zé)人參加,以保證評(píng)審工作的客觀性和質(zhì)量。評(píng)審常常導(dǎo)致設(shè)計(jì)過(guò)程的回溯和反復(fù),需要根據(jù)評(píng)審意見(jiàn)修改所提交的階段設(shè)計(jì)成果,有時(shí)修改甚至要回溯到前面的某一階段,進(jìn)行部分乃至全部重新設(shè)計(jì),然后再進(jìn)行評(píng)審,直至達(dá)到全部系統(tǒng)的預(yù)期目標(biāo)為止?!?.3概念設(shè)計(jì)概念設(shè)計(jì)的目標(biāo)是設(shè)計(jì)出反映某個(gè)組織部門(mén)信息需求的數(shù)據(jù)庫(kù)系統(tǒng)概念模式,數(shù)據(jù)庫(kù)系統(tǒng)的概念模式獨(dú)立于數(shù)據(jù)庫(kù)系統(tǒng)的邏輯結(jié)構(gòu)、獨(dú)立于數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、獨(dú)立于計(jì)算機(jī)系統(tǒng)。概念模式的設(shè)計(jì)方法是在需求分析的基礎(chǔ)上,用概念數(shù)據(jù)模型(例如E-R模型)表示數(shù)據(jù)及數(shù)據(jù)之間的相互聯(lián)系,設(shè)計(jì)出反映用戶信息需求和處理需求的數(shù)據(jù)庫(kù)系統(tǒng)概念模式。概念設(shè)計(jì)的目標(biāo)是準(zhǔn)確描述應(yīng)用領(lǐng)域的信息模式,支持用戶的各種應(yīng)用,這樣既容易轉(zhuǎn)換為數(shù)據(jù)庫(kù)系統(tǒng)邏輯模式,又容易為用戶理解。數(shù)據(jù)庫(kù)系統(tǒng)概念模式是面向現(xiàn)實(shí)世界的數(shù)據(jù)模型,不能直接用于數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)。但是這種模式易于為用戶所理解,而且設(shè)計(jì)人員可以致力于模擬現(xiàn)實(shí)世界,而不必過(guò)早地糾纏于DBMS所規(guī)定的各種細(xì)節(jié)。在此階段,用戶可以參與和評(píng)價(jià)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì),從而有利于保證數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)與用戶的需求相吻合。在概念模式的設(shè)計(jì)中,E-R模型法是最常見(jiàn)的設(shè)計(jì)方法,下面介紹用E-R模型設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)概念模式的步驟。E-R圖設(shè)計(jì)概念模式的方法有兩種:以局部E-R圖為基礎(chǔ)設(shè)計(jì)全局模式,稱為集中式模式設(shè)計(jì);
先設(shè)計(jì)局部E-R模型圖,再由若干個(gè)局部E-R模型圖綜合成為全局E-R模型圖,稱為綜合設(shè)計(jì)法。這兩種設(shè)計(jì)方法的設(shè)計(jì)思想是有區(qū)別的:綜合設(shè)計(jì)法是以局部需求說(shuō)明作為設(shè)計(jì)的基礎(chǔ),在集成時(shí)盡管對(duì)局部E-R圖要做必要的修改,但局部E-R圖是設(shè)計(jì)的基礎(chǔ),全局模式是局部E-R圖的集成;集中式模式設(shè)計(jì)法是在統(tǒng)一需求說(shuō)明的基礎(chǔ)上,設(shè)計(jì)全局模式,全局模式是設(shè)計(jì)的基礎(chǔ)。綜合設(shè)計(jì)法比較適合于大型數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì),可以多組并行進(jìn)行,免除綜合需求說(shuō)明的麻煩。目前,綜合設(shè)計(jì)法用得較多,下面將以綜合設(shè)計(jì)法為主介紹概念模式設(shè)計(jì)。綜合設(shè)計(jì)法分為兩個(gè)步驟:①設(shè)計(jì)局部概念模式②由局部概念模式綜合成全局概念模式?!?.3.1設(shè)計(jì)局部概念模式局部概念模式設(shè)計(jì)可以由用戶獨(dú)立完成,也可以由數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)者協(xié)助完成。一般分為以下幾個(gè)步驟:1、根據(jù)局部需求分析的結(jié)果產(chǎn)生局部實(shí)體集。
局部實(shí)體集應(yīng)該是局部應(yīng)用領(lǐng)域中的事物,能夠滿足局部應(yīng)用的要求。局部實(shí)體集的產(chǎn)生包括確定局部實(shí)體集的屬性和鍵碼。在局部概念模式設(shè)計(jì)過(guò)程中,我們可能會(huì)發(fā)現(xiàn)有些事物既可以抽象為實(shí)體集也可以抽象為屬性或?qū)嶓w集間的聯(lián)系。對(duì)于這樣的事物,我們應(yīng)該使用最易于為用戶理解的概念模型結(jié)構(gòu)來(lái)表示。在易于被用戶理解的前提下,既可抽象為屬性,又可抽象為實(shí)體的的盡量抽象為屬性。需要注意的是,每個(gè)事物必須由一種而且僅有一種概念模型結(jié)構(gòu)表示。在設(shè)計(jì)局部實(shí)體集時(shí),我們還需要確定哪些屬性是單值屬性、哪些屬性是多值屬性以及哪些屬性是復(fù)合屬性(指由多個(gè)數(shù)據(jù)項(xiàng)組成的屬性)。2、在確定了局部實(shí)體集后,根據(jù)局部分析的結(jié)果確定局部實(shí)體集間的聯(lián)系及其結(jié)構(gòu)約束。
局部實(shí)體集間的聯(lián)系要準(zhǔn)確地描述局部應(yīng)用領(lǐng)域中各事物之間的關(guān)系。同時(shí),局部實(shí)體集間的聯(lián)系也需要滿足局部應(yīng)用的各種要求。3、最后,根據(jù)上面的分析來(lái)形成局部E-R圖。例1
某大學(xué)關(guān)于學(xué)生課程管理的數(shù)據(jù)庫(kù)系統(tǒng)系統(tǒng),在學(xué)校機(jī)構(gòu)中有教務(wù)處和研究生院兩個(gè)管理學(xué)生的部門(mén),在設(shè)計(jì)E-R模型圖時(shí),可分別設(shè)計(jì)局部的E-R模型圖,如圖7.4和圖7.5所示。學(xué)生選課課程學(xué)號(hào)姓名性別系別出生日期何時(shí)入學(xué)獎(jiǎng)學(xué)金成績(jī)課程號(hào)選/必教師課程名學(xué)分學(xué)生選課課程學(xué)號(hào)姓名性別系別出生日期入學(xué)時(shí)間碩/博成績(jī)課程號(hào)學(xué)分教師課程名學(xué)位課導(dǎo)師圖7.4教務(wù)處學(xué)生管理的E-R模型圖圖7.5研究生院學(xué)生管理的局部E-R模型圖§7.3.2設(shè)計(jì)全局概念模式在進(jìn)行局部E-R圖集成時(shí),需按照下面三個(gè)步驟來(lái)進(jìn)行:1、確認(rèn)局部E-R模型圖中的對(duì)應(yīng)關(guān)系和沖突對(duì)應(yīng)關(guān)系是指局部E-R圖中語(yǔ)義都相同的概念,也就是它們的共同部分;沖突指相互之間有矛盾的概念。常見(jiàn)的沖突有下列4種:①命名沖突命名沖突有同名異義和同義異名兩種。例如,在例1給出的圖中,“學(xué)生”和“課程”這兩個(gè)實(shí)體集在教務(wù)處的局部E-R圖和研究生院的局部E-R圖中含義是不同的:在教務(wù)處的局部E-R圖中學(xué)生是指大學(xué)生、大學(xué)生的課程,在研究生院的局部E-R圖中是指研究生和研究生課程,這屬于同名異義;在教務(wù)處的局部E-R圖中學(xué)生實(shí)體集有“何時(shí)入學(xué)”這一個(gè)屬性,在研究生院的局部E-R圖中有“入學(xué)日期”這一屬性,兩者是同義異名。②概念沖突同一個(gè)概念在一個(gè)局部E-R圖中可能作為實(shí)體集,在另一局部E-R圖中可能作為屬性或聯(lián)系。例如,在上面給出的圖中,如果用戶要求,選課也可以作為實(shí)體集,而不作為聯(lián)系。③域沖突相同的屬性在不同的局部E-R圖中有不同的域,例如,學(xué)號(hào)在一個(gè)局部E-R圖中可能當(dāng)作字符串,在另一個(gè)局部E-R圖中可能當(dāng)作整數(shù)。相同的屬性采用不同的度量單位,稱為域沖突。④約束沖突不同局部E-R圖可能有不同的約束;例如,對(duì)于“選課”這個(gè)聯(lián)系,大學(xué)生和研究生對(duì)選課的最少門(mén)數(shù)和最多門(mén)數(shù)的限定可能不一樣。2、對(duì)局部E-R圖進(jìn)行某些修改,解決部門(mén)沖突解決部門(mén)的沖突是對(duì)各個(gè)部門(mén)中存在的命名沖突、概念沖突、域沖突、約束沖突按照統(tǒng)一的規(guī)范定義。如在例1的圖中,“入學(xué)日期”和“何時(shí)人學(xué)”兩個(gè)屬性名可以統(tǒng)一成“入學(xué)日期”,學(xué)號(hào)統(tǒng)一用字符串表示,學(xué)生分為大學(xué)生和研究生兩類,課程也分為本科生課程和研究生課程兩類等。3、合并局部E-R圖,形成全局模式在合并局部E-R圖的過(guò)程中,應(yīng)盡可能合并對(duì)應(yīng)的部分、保留特殊的部分、刪除冗余部分,必要時(shí)對(duì)模式進(jìn)行適當(dāng)?shù)男薷?,力求使模式?jiǎn)明清晰。局部E-R圖的集成并不限于兩個(gè)局部E-R圖的集成,可以推廣到多個(gè)局部E-R圖的集成,多個(gè)局部E-R圖的集成比較復(fù)雜,一般用計(jì)算機(jī)輔助設(shè)計(jì)工具進(jìn)行。例2在學(xué)校機(jī)構(gòu)中設(shè)計(jì)學(xué)生管理數(shù)據(jù)庫(kù)系統(tǒng)的全局E-R模型圖課程學(xué)生選課學(xué)號(hào)姓名性別系別出生日期入學(xué)時(shí)間學(xué)生類別成績(jī)課程號(hào)學(xué)分教師課程名課程類別
圖4.6學(xué)生課程管理的E-R模型圖其中學(xué)生實(shí)體的屬性:學(xué)生類別的域?yàn)楸究粕?、研究生、博士生,如果是研究生、博士生,?yīng)有他們的指導(dǎo)老師屬性;屬性課程類別的域?yàn)檠芯可n程、本科生課程。圖4.6是由圖4.4和圖4.5進(jìn)行綜合而成E-R模型圖。例3:設(shè)計(jì)一個(gè)工廠生產(chǎn)管理系統(tǒng)的E-R模型圖分析:工廠的生產(chǎn)由技術(shù)部門(mén)和供應(yīng)部門(mén)提供保障。技術(shù)部門(mén)關(guān)心的是產(chǎn)品的性能參數(shù)、產(chǎn)品由那些零件組成、零件使用的材料和耗用量等;供應(yīng)部門(mén)關(guān)心的是產(chǎn)品的價(jià)格,使用材料的價(jià)格及庫(kù)存量等。分別設(shè)計(jì)技術(shù)部門(mén)和供應(yīng)部門(mén)的E-R模型圖如圖7.7和圖7.8所示。產(chǎn)品零件組成產(chǎn)品號(hào)產(chǎn)品名性能參數(shù)零件數(shù)零件號(hào)材料名耗用量圖7.7技術(shù)部門(mén)的E-R模型圖產(chǎn)品使用材料存量倉(cāng)庫(kù)產(chǎn)品號(hào)產(chǎn)品名價(jià)格用量材料號(hào)材料名庫(kù)存量?jī)r(jià)格存放量倉(cāng)庫(kù)名倉(cāng)庫(kù)號(hào)地點(diǎn)
圖7.8供應(yīng)部門(mén)的E-R模型圖進(jìn)一步分析:在圖7.5和圖7.6中實(shí)體產(chǎn)品的實(shí)體名和含義是相同的,在綜合成E-R模型圖時(shí)可以合并為一個(gè)實(shí)體;在現(xiàn)實(shí)世界中產(chǎn)品是通過(guò)消耗材料生產(chǎn)出來(lái)的,即產(chǎn)品和材料之間也是有聯(lián)系的;零件也是通過(guò)消耗材料而生產(chǎn)出來(lái)的,零件和材料之間也有消耗關(guān)系。因此圖7.7和圖7.8合并成的全局E-R模型圖如圖7.9。零件數(shù)產(chǎn)品零件組成產(chǎn)品號(hào)產(chǎn)品名性能參數(shù)零件號(hào)材料名價(jià)格材料消耗存量倉(cāng)庫(kù)消耗耗用量2存放量材料號(hào)材料名庫(kù)存量?jī)r(jià)格倉(cāng)庫(kù)號(hào)倉(cāng)庫(kù)名地點(diǎn)7.9綜合后的E-R模型圖耗用量1分析:綜合后的E-R模型圖中存在著數(shù)據(jù)的冗余。產(chǎn)品對(duì)材料的消耗量1可以通過(guò)組成產(chǎn)品的零件所消耗材料的消耗量2計(jì)算獲得,因此消耗量1為冗余數(shù)據(jù),應(yīng)該從E-R圖中刪除,聯(lián)系沒(méi)有了屬性,產(chǎn)品與材料之間的聯(lián)系也可以從圖中刪除;每一種材料的庫(kù)存量可以從各個(gè)倉(cāng)庫(kù)中這種材料的存放量計(jì)算獲得,因此材料實(shí)體的庫(kù)存量為冗余屬性應(yīng)該從圖中刪除。除去冗余后的綜合E-R模型圖為圖7.10產(chǎn)品零件組成產(chǎn)品號(hào)產(chǎn)品名性能參數(shù)零件數(shù)零件號(hào)材料名價(jià)格材料消耗存量倉(cāng)庫(kù)耗用量2存放量材料號(hào)材料名價(jià)格倉(cāng)庫(kù)號(hào)倉(cāng)庫(kù)名地點(diǎn)圖7.10生產(chǎn)管理系統(tǒng)的E-R模型圖§7.4邏輯設(shè)計(jì)
數(shù)據(jù)庫(kù)系統(tǒng)邏輯設(shè)計(jì)的任務(wù)是:把數(shù)據(jù)庫(kù)系統(tǒng)概念設(shè)計(jì)階段產(chǎn)生的數(shù)據(jù)庫(kù)系統(tǒng)概念模式變換為數(shù)據(jù)庫(kù)系統(tǒng)邏輯模式。數(shù)據(jù)庫(kù)系統(tǒng)邏輯設(shè)計(jì)依賴于數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),不同的DBMS支持不同的數(shù)據(jù)模型,數(shù)據(jù)庫(kù)的數(shù)據(jù)模型包括層次模型、網(wǎng)狀模型和關(guān)系模型,其中關(guān)系模型和關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)因有關(guān)系理論支持而得到廣泛使用,成為當(dāng)今數(shù)據(jù)庫(kù)系統(tǒng)的主流。所以,本章以關(guān)系模型和關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)討論數(shù)據(jù)庫(kù)系統(tǒng)邏輯設(shè)計(jì)方法?!?.4.1E-R圖到關(guān)系模式的轉(zhuǎn)換進(jìn)行數(shù)據(jù)庫(kù)系統(tǒng)的邏輯設(shè)計(jì),首先須將概念設(shè)計(jì)中所得的E-R圖轉(zhuǎn)換成等價(jià)的關(guān)系模式。將E-R圖轉(zhuǎn)換成關(guān)系模式的方法是:將實(shí)體和聯(lián)系均轉(zhuǎn)換為關(guān)系模式,實(shí)體和聯(lián)系的屬性作為關(guān)系模式的屬性。(具體方法參見(jiàn)§2.2.2數(shù)據(jù)模型)例4將圖4.10生產(chǎn)管理系統(tǒng)的E-R模型圖轉(zhuǎn)換為關(guān)系模式分析:在E-R模型圖中,有四個(gè)實(shí)體:產(chǎn)品、零件、材料、倉(cāng)庫(kù),可分別將這些實(shí)體轉(zhuǎn)換為如下的關(guān)系模式:產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,性能參數(shù),價(jià)格)零件(零件號(hào),材料名)材料(材料名,材料號(hào),價(jià)格)倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),倉(cāng)庫(kù)名,地址)分析:在圖4.10生產(chǎn)管理系統(tǒng)的E-R模型圖中,各種實(shí)體之間的聯(lián)系均為多對(duì)多(M:N)的聯(lián)系(一個(gè)產(chǎn)品由多個(gè)零件組成,一個(gè)零件可以是多個(gè)產(chǎn)品的零件;一個(gè)零件由多種材料生產(chǎn),一種材料可以生產(chǎn)多種零件;一種材料可以存放在多個(gè)倉(cāng)庫(kù)中,一個(gè)倉(cāng)庫(kù)可以存放多種材料),轉(zhuǎn)換為關(guān)系模式時(shí),分別將這些聯(lián)系轉(zhuǎn)換為如下的幾個(gè)關(guān)系模式(轉(zhuǎn)換方法可參見(jiàn)§2.2.2)。產(chǎn)品—零件(產(chǎn)品號(hào),零件號(hào),零件數(shù))零件—材料(零件號(hào),材料號(hào),耗用量)材料—倉(cāng)庫(kù)(材料號(hào),倉(cāng)庫(kù)號(hào),存放量)§7.4.2數(shù)據(jù)邏輯設(shè)計(jì)在邏輯設(shè)計(jì)階段,將所得到的關(guān)系模式,轉(zhuǎn)換成以DBMS數(shù)據(jù)模型表示的邏輯模式。數(shù)據(jù)庫(kù)系統(tǒng)邏輯設(shè)計(jì)的目標(biāo)是:設(shè)計(jì)滿足用戶的完整性和安全性要求、能在邏輯級(jí)上高效率地支持各種數(shù)據(jù)庫(kù)事務(wù)運(yùn)行的邏輯模式。數(shù)據(jù)庫(kù)系統(tǒng)的邏輯設(shè)計(jì)不僅涉及數(shù)據(jù)模型的轉(zhuǎn)換問(wèn)題,而且涉及進(jìn)一步解決數(shù)據(jù)模式設(shè)計(jì)中存在的一些技術(shù)問(wèn)題,例如數(shù)據(jù)模式的規(guī)范化(關(guān)系模式的范式)、滿足DBMS各種限制等。數(shù)據(jù)邏輯設(shè)計(jì)分為以下幾個(gè)步驟:1、從E-R圖導(dǎo)出初始關(guān)系模式。即將E-R圖按規(guī)則轉(zhuǎn)換成關(guān)系模式。2、規(guī)范化處理。利用§6.3提供的規(guī)范化理論對(duì)得到的關(guān)系模式進(jìn)行規(guī)范化。消除操作異常,改善完整性、一致性和存儲(chǔ)效率,一般達(dá)到3NF就可以了。3、模式評(píng)價(jià)。目的是檢查數(shù)據(jù)庫(kù)系統(tǒng)模式是否滿足用戶的要求,包括功能評(píng)價(jià)和性能評(píng)價(jià)。4、優(yōu)化模式。疏漏的要新增關(guān)系或?qū)傩?;性能不好的要采用合并、分解或選用另外結(jié)構(gòu)等。
①合并。對(duì)具有相同關(guān)鍵字的關(guān)系模式,如它們的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)市場(chǎng)調(diào)控政策解讀
- 房地產(chǎn)市場(chǎng)的政府調(diào)控政策解讀
- 2025年農(nóng)村產(chǎn)權(quán)扶持基金抵押合同
- 2025年借殼上市美容服務(wù)合同
- 2025年度個(gè)人獨(dú)資企業(yè)股權(quán)轉(zhuǎn)讓合同范本與財(cái)務(wù)結(jié)算流程2篇
- 房地產(chǎn)賣房技巧分享
- 2025年度體育健身店鋪門(mén)面租賃與市場(chǎng)開(kāi)發(fā)合同
- 2025年陜西榆正融資擔(dān)保有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年貴州黎平北控水務(wù)有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年浙教新版八年級(jí)歷史上冊(cè)月考試卷含答案
- 護(hù)理飲食指導(dǎo)整改措施及方案
- 項(xiàng)目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓(xùn)課件
- 紅色主題研學(xué)課程設(shè)計(jì)
- 胸外科手術(shù)圍手術(shù)期處理
- 裝置自動(dòng)控制的先進(jìn)性說(shuō)明
- 《企業(yè)管理課件:團(tuán)隊(duì)管理知識(shí)點(diǎn)詳解PPT》
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)二 軟文的寫(xiě)作
- 英語(yǔ)詞匯教學(xué)中落實(shí)英語(yǔ)學(xué)科核心素養(yǎng)
- 《插畫(huà)設(shè)計(jì)》課程標(biāo)準(zhǔn)
- 高中英語(yǔ)名詞性從句講解
評(píng)論
0/150
提交評(píng)論