版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第7章數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)7數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)7.1數(shù)據(jù)庫系統(tǒng)的基本概念5.2結(jié)構(gòu)化程序設(shè)計(jì)5.3面向?qū)ο蟮某绦蛟O(shè)計(jì)7.1
程序設(shè)計(jì)方法與風(fēng)格數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn)數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系7.1程序設(shè)計(jì)方法與風(fēng)格計(jì)算機(jī)科學(xué)與技術(shù)的發(fā)展,計(jì)算機(jī)應(yīng)用的深入與拓展,使得數(shù)據(jù)庫在計(jì)算機(jī)應(yīng)用中的地位與作用日益重要,它在商業(yè)中、事務(wù)處理中占有主導(dǎo)地位。近年來在統(tǒng)計(jì)領(lǐng)域、在多媒體領(lǐng)域以及智能化應(yīng)用領(lǐng)域中的地位與作用也變得十分重要。隨著網(wǎng)絡(luò)應(yīng)用的普及,它在網(wǎng)絡(luò)中的應(yīng)用也日漸重要。因此,數(shù)據(jù)庫已成為構(gòu)成一個計(jì)算機(jī)應(yīng)用系統(tǒng)的重要的文持性軟件。7.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)1.數(shù)據(jù)數(shù)據(jù)(Data)是對客觀事務(wù)及其活動的抽象符號表示,是存儲在某種載體上可以鑒別的符號資料。數(shù)據(jù)的形式可以是數(shù)字,文字、圖形、圖像、聲音、學(xué)生檔案記錄和圖書管理情況等。數(shù)據(jù)實(shí)際上就是描述事物的符號記錄,例如,兩名學(xué)生的考試成績分別為87和56,這里87和56就是數(shù)據(jù),在過去的軟件系統(tǒng)中是以程序?yàn)橹黧w,而數(shù)據(jù)則以私有形式從屬于程序,此時(shí)數(shù)據(jù)在系統(tǒng)中是分散、凌亂的,這也造成了數(shù)據(jù)管理的混亂,如數(shù)據(jù)冗余度高、數(shù)據(jù)一致性差及數(shù)據(jù)的安全性差等多種弊病,自數(shù)據(jù)庫系統(tǒng)出現(xiàn)以來,數(shù)據(jù)在軟件系統(tǒng)中的地位產(chǎn)生了變化,在數(shù)據(jù)庫系統(tǒng)及數(shù)據(jù)庫應(yīng)用系統(tǒng)中數(shù)據(jù)已占有主體地位,而程序已退居附屬地位。在數(shù)據(jù)庫系統(tǒng)中需要對數(shù)據(jù)進(jìn)行集中、統(tǒng)一的管理,以達(dá)到數(shù)據(jù)被多個應(yīng)用程序共享的目標(biāo)。。7.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)2.信息信息(Information)是指數(shù)據(jù)經(jīng)過加工后所獲取的有用知識,是以某種數(shù)據(jù)形式表現(xiàn)的。數(shù)據(jù)和信息是兩個相互聯(lián)系又相互區(qū)別的概念,數(shù)據(jù)是信息的具體表現(xiàn)形式,信息是有意義的表現(xiàn)。例如,某學(xué)生看到自己的考試成績是87或56分,通過思考他認(rèn)為成績及格或不及格,這里及格或不及格就是通過對數(shù)據(jù)87或56處理獲取的信息。數(shù)據(jù)處理是指對數(shù)據(jù)進(jìn)行加工的過程,即將數(shù)據(jù)轉(zhuǎn)換成信息的過程,是對各種數(shù)據(jù)進(jìn)行收集、存儲、加工和傳播的一系列活動的總和。我們經(jīng)常應(yīng)用的Word文字處理、Excel表格處理和Plotoshop圖像處理等都是對各種數(shù)據(jù)進(jìn)行收集、存儲、加工的過程,即計(jì)算機(jī)數(shù)據(jù)處理。7.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)3.數(shù)據(jù)庫數(shù)據(jù)庫(Database,DB)是以…定方式存儲的相互關(guān)聯(lián)的數(shù)據(jù)的集合。這些數(shù)據(jù)能夠長期存儲、統(tǒng)一管理和控制,且能被不同用戶共享。數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”“共享”之特點(diǎn),即數(shù)據(jù)庫集中了各種應(yīng)用的數(shù)據(jù),進(jìn)行統(tǒng)一的構(gòu)造與存儲,而使它們可被不同應(yīng)用程序所使用。7.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)4.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSyslem.DBMS)是一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫。它對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是管理數(shù)據(jù)庫的軟件。數(shù)據(jù)庫管理系統(tǒng)就是實(shí)現(xiàn)把用戶意義下抽象的邏輯數(shù)據(jù)處理,轉(zhuǎn)換成為計(jì)算機(jī)中具體的物理數(shù)據(jù)處理的軟件。數(shù)據(jù)庫中的數(shù)據(jù)是具有海量級的數(shù)據(jù),并且其結(jié)構(gòu)復(fù)念,因此,需要提供管理工具。7.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(1)數(shù)據(jù)模式定義。數(shù)據(jù)庫管理系統(tǒng)負(fù)資為數(shù)據(jù)庫構(gòu)建模式,也就是為數(shù)據(jù)庫構(gòu)建其數(shù)據(jù)想架。(2)數(shù)據(jù)存儲的物理構(gòu)建。數(shù)據(jù)庫管理系統(tǒng)負(fù)資為數(shù)據(jù)模式的物理存取及構(gòu)建提供有效的存取方法與乎段。(3)數(shù)據(jù)操縱。數(shù)據(jù)庫管理系統(tǒng)為用戶使用數(shù)據(jù)庫中的數(shù)據(jù)提供方便,它一般提供否詢、修改以及副除數(shù)據(jù)的功能。此外,它自身還具有做簡單自述去處及統(tǒng)計(jì)的能力,而且新編大學(xué)計(jì)算禮應(yīng)用基礎(chǔ)還可以與某些過程性語言結(jié)合,使其具有強(qiáng)大的過程性操作能力。(4)數(shù)據(jù)的完整性、安全性定義與檢查。數(shù)據(jù)庫中的數(shù)據(jù)具有內(nèi)在語義上的關(guān)聯(lián)性與一致性、它們構(gòu)成了數(shù)據(jù)的完整性,數(shù)據(jù)的完靠性是保證數(shù)據(jù)庫中數(shù)據(jù)正確的必要條件,因此、必須經(jīng)常檢查以維護(hù)數(shù)據(jù)的正確性。數(shù)據(jù)庫中的數(shù)據(jù)具有共享性,而數(shù)據(jù)共享可能會引發(fā)數(shù)據(jù)的非法使用、因此,必須要對數(shù)據(jù)正確使用做出必要的規(guī)定,并在使用時(shí)做檢查,這就是數(shù)據(jù)的安全性。數(shù)據(jù)完整性與安全性的維護(hù)是數(shù)據(jù)庫管理系統(tǒng)的基本功能。7.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)5.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),通常由讓算機(jī)硬件、軟件、數(shù)據(jù)庫和數(shù)據(jù)庫管理員組成。隨著計(jì)算機(jī)、局域網(wǎng)和Intemet的發(fā)展,數(shù)據(jù)庫系統(tǒng)的休系結(jié)構(gòu)也在不斷地發(fā)生著變化。數(shù)據(jù)庫系統(tǒng)一般由4個部分組成。7.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(1)數(shù)據(jù)庫(database,DB)是指長期存儲在計(jì)算機(jī)內(nèi)的,有組織,可共享的數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按…定的數(shù)學(xué)模型組織、描述和存儲,具有較小的冗余,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。(2)硬件:構(gòu)成計(jì)算機(jī)系統(tǒng)的各種物理設(shè)備,包括存儲所需的外部設(shè)備。硬件的配置應(yīng)滿足整個數(shù)據(jù)庫系統(tǒng)的需要。(3)軟件:包括操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)及應(yīng)用程序等。提作系統(tǒng)是系統(tǒng)的基礎(chǔ)軟件平臺,日前常用的有各種UNIX(包括Linux)與Windows兩種。7.1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.人工管理階段20世紀(jì)50年代中期以前,計(jì)算機(jī)主要用于科學(xué)計(jì)算,硬件無磁盤,直接存取,軟作沒有操作系統(tǒng)。那時(shí)數(shù)據(jù)山計(jì)算或處理它的程序自行攜帶,程序設(shè)計(jì)依賴于數(shù)據(jù)表示。人工管理階段的特點(diǎn)如下。數(shù)據(jù)不能長期保存。應(yīng)用程序本身管理數(shù)據(jù)。數(shù)據(jù)不共享。數(shù)據(jù)不具有獨(dú)立性。7.1.2數(shù)據(jù)管理技術(shù)的發(fā)展2.文件系統(tǒng)階段20世紀(jì)50午代后期到20世紀(jì)60年代中期,計(jì)算機(jī)不僅用于科學(xué)汁算、還大量用予管理。硬件出現(xiàn)了磁鼓和磁盤,軟件出現(xiàn)了高級語言和操作系統(tǒng)。程序和數(shù)銀有了一定的獨(dú)立性,并且有了程序文件和數(shù)據(jù)文件。但是,數(shù)據(jù)文件是為某一特定的應(yīng)用服務(wù)的、修改了數(shù)據(jù)的邏輯結(jié)構(gòu)就耍修改相應(yīng)的程序,反之亦然。程序設(shè)計(jì)仍然依賴于數(shù)據(jù)表示。文件系統(tǒng)的特點(diǎn)如下。數(shù)據(jù)可以長期保存。由文件系統(tǒng)管理數(shù)據(jù)。數(shù)據(jù)冗余大,共享性差。數(shù)據(jù)獨(dú)立性差。7.1.2數(shù)據(jù)管理技術(shù)的發(fā)展3.數(shù)據(jù)庫系統(tǒng)階段從20世紀(jì)60年代后期開始,計(jì)算機(jī)應(yīng)用于管理的規(guī)模越來越大,隨著網(wǎng)絡(luò)的發(fā)展數(shù)據(jù)共享的需求也日益增加,計(jì)算機(jī)款硬件功能超來越強(qiáng),從面發(fā)展了致?lián)旒夹g(shù),特別是關(guān)系型數(shù)據(jù)庫技術(shù)已經(jīng)非常成熟并且廣泛地應(yīng)用于企事業(yè)各部門的信息管理中。如事務(wù)處理系統(tǒng)、地理信息系統(tǒng)(GIS)、聯(lián)機(jī)分析系統(tǒng)、策支持系統(tǒng)、企業(yè)資源計(jì)劃(ENP).客戶關(guān)系管理(CRM)、數(shù)據(jù)倉際和數(shù)據(jù)挖掘系統(tǒng)等都是以數(shù)據(jù)際技術(shù)作為重要支撐的。7.1.2數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)庫系統(tǒng)階段的主要持點(diǎn)如下。數(shù)據(jù)結(jié)構(gòu)化:用特定的數(shù)據(jù)模型來表示事物及事物之間的聯(lián)系。數(shù)據(jù)共享性高:減少數(shù)據(jù)冗余,減少更新異常。數(shù)據(jù)獨(dú)立性強(qiáng);程序和數(shù)據(jù)相對獨(dú)立。數(shù)據(jù)粒度小:粒度單位是記錄中的數(shù)據(jù)項(xiàng),粒度越小處理速度就熱快,越方便。獨(dú)立的數(shù)據(jù)操作界面:通過命令或界面(菜單、工具欄、對話艇)對數(shù)據(jù)摩進(jìn)行的問和處理。例如,Access、SQLSerrmr等數(shù)據(jù)庫管理系統(tǒng)軟件。統(tǒng)一管理和控制:數(shù)據(jù)定義、操作和控制由數(shù)護(hù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)統(tǒng)一管理和控制:7.1.2數(shù)據(jù)管理技術(shù)的發(fā)展4.數(shù)據(jù)管理技術(shù)的發(fā)展目前,數(shù)據(jù)庫技術(shù)也與其他信息技術(shù)一樣在迅速發(fā)展之中,計(jì)算機(jī)處理能力的增強(qiáng)和越來越廣泛的應(yīng)用是促進(jìn)數(shù)據(jù)庫技術(shù)發(fā)展的重要動力。分布式數(shù)據(jù)庫技術(shù)是大數(shù)據(jù)時(shí)代云計(jì)算技術(shù)的基礎(chǔ),是數(shù)據(jù)的基本存儲方式;在大量應(yīng)用中對數(shù)據(jù)庫管理系統(tǒng)提出了高可靠性、高性能、高可伸縮性(Scalability)和高安全性的“四高”要求。一般認(rèn)為,未來的數(shù)據(jù)庫系統(tǒng)應(yīng)支持?jǐn)?shù)據(jù)管理、對象管理和知識管理,應(yīng)該具有面向?qū)ο蟮幕咎卣?。在關(guān)于數(shù)據(jù)庫的諸多新技術(shù)中,下面二種是比較重要的。面向?qū)ο髷?shù)據(jù)庫系統(tǒng):用面向?qū)ο蠓椒?gòu)筑面向?qū)ο髷?shù)據(jù)模型,使其具有比關(guān)系數(shù)據(jù)庫系統(tǒng)更為通用的能力。知識庫系統(tǒng):用人工智能中的方法特別是用謂詞邏輯知識表示方法構(gòu)筑數(shù)據(jù)模型,使其模型具有特別通用的能力。關(guān)系數(shù)據(jù)庫系統(tǒng)的擴(kuò)充:利用關(guān)系數(shù)據(jù)庫做進(jìn)一步擴(kuò)展,使其在模型的農(nóng)達(dá)能力與功能上有進(jìn)…步的加強(qiáng),如與網(wǎng)絡(luò)技術(shù)相結(jié)合的Web數(shù)據(jù)庫、數(shù)據(jù)倉庫及嵌入式數(shù)據(jù)庫等。7.1.3數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn)1.整體數(shù)據(jù)結(jié)構(gòu)化在數(shù)據(jù)庫系統(tǒng)中,采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)方式,如在關(guān)系數(shù)據(jù)庫中采用二維表作為統(tǒng)·結(jié)構(gòu):數(shù)據(jù)模式是多個應(yīng)用共同的、全局的數(shù)據(jù)結(jié)構(gòu);記錄的結(jié)構(gòu)和記錄之間的聯(lián)系自數(shù)據(jù)庫管理系統(tǒng)進(jìn)行維護(hù),從而減輕了程序員的工作量,提高了工作效率:2.數(shù)據(jù)的共享性高、冗余度低且易擴(kuò)充數(shù)據(jù)共享包括多個用戶、多個應(yīng)用可以同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫中的數(shù)據(jù)。同時(shí),數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)共享大大減少了數(shù)據(jù)冗余,還能夠避免數(shù)據(jù)之間的不相容性和不一致性。數(shù)據(jù)的…致性是指在系統(tǒng)中同一數(shù)據(jù)的不間出現(xiàn)應(yīng)保持相問的值,而數(shù)據(jù)的不一致性指的是同一數(shù)據(jù)不同副本的值不一樣。7.1.3數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn)3.數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中的數(shù)據(jù)獨(dú)立于應(yīng)用程序面不依賴于應(yīng)用程序。數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性是指數(shù)據(jù)在磁盤上的數(shù)據(jù)庫中如何任儲是由DBMS管理的,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣一來當(dāng)數(shù)據(jù)的物理存儲結(jié)構(gòu)改變時(shí),不致引起應(yīng)用程序的變化。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,如修改數(shù)據(jù)模式、增加新的數(shù)據(jù)類型、改變數(shù)據(jù)間聯(lián)系等,不需要相應(yīng)修改用戶的應(yīng)用程序。數(shù)據(jù)與程序的獨(dú)立,把數(shù)據(jù)的定義從程序中分離出去,加上存取數(shù)據(jù)由DBMS負(fù)資提供,從面簡化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護(hù)和修改。7.1.3數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn)4.數(shù)據(jù)統(tǒng)一管理和控制利用數(shù)據(jù)庫系統(tǒng)可對數(shù)據(jù)進(jìn)行集中控制和管理,并通過數(shù)據(jù)模型表示各種數(shù)據(jù)的組織以及數(shù)據(jù)間的聯(lián)系,同時(shí)數(shù)據(jù)庫管理系統(tǒng)提供了以下幾個方面的數(shù)據(jù)控制功能,以解決數(shù)據(jù)共享帶來的安全隱患。數(shù)據(jù)的安全性保護(hù):保護(hù)數(shù)據(jù)以防止不合法使用造成的數(shù)據(jù)泄密和破壞。數(shù)據(jù)的完整性檢查:保證數(shù)據(jù)的正確性、有效性和相容性。并發(fā)控制:使在同一周期內(nèi),允許對數(shù)據(jù)實(shí)現(xiàn)多路存取,又能防止用戶之間的不正常交互作用。數(shù)據(jù)庫恢復(fù):數(shù)據(jù)庫管理系統(tǒng)能及時(shí)發(fā)現(xiàn)故障,并將數(shù)據(jù)庫從錯誤狀態(tài)復(fù)到某已知的正確狀態(tài)。7.1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系1.數(shù)據(jù)庫系統(tǒng)的三級模式數(shù)據(jù)模式是數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)結(jié)構(gòu)的一種表示形式,它具有不同的層次與結(jié)構(gòu)方式。(1)模式模式(Schcna)又稱概念模式或邏輯模式,對應(yīng)概念級。它是數(shù)據(jù)庫中全部數(shù)據(jù)的邏料結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖(全局視圖)。它是數(shù)據(jù)庫系統(tǒng)模式紡構(gòu)的中間層,是一種抽象的描述,既不涉及具體的硬件環(huán)境與平臺,也與具體軟作環(huán)境無關(guān)。模式是由數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)模式描述語言(DalaDescriplionLanpuage,來描述、定義的,體現(xiàn)、反映了數(shù)據(jù)庫系統(tǒng)的整體觀。7.1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系(2)外模式外模式(EstemalSehema)又稱子模式或用戶模式,對應(yīng)用戶級、它是某個或某兒個用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式是從模式導(dǎo)出的一個子集,包含模式中允許特定用戶使用的那部分?jǐn)?shù)據(jù)。用戶可以通過外模式描述語言來描述、定義對應(yīng)用戶的數(shù)據(jù)記錄(外模式),也可以利用數(shù)據(jù)操縱譜言(DataManipulationLanguage,DML)對這些數(shù)據(jù)記錄進(jìn)行。外模式反映了數(shù)據(jù)庫的用戶觀。(3)內(nèi)模式內(nèi)模式(IntemnalSchema)又稱存儲模式,對應(yīng)物理級,它是數(shù)據(jù)庫中全體數(shù)據(jù)的內(nèi)部表示或底層描述,是數(shù)據(jù)庫最低…級的邏輯描述,它描述了數(shù)據(jù)在存儲介質(zhì)上的存儲方式和物理結(jié)構(gòu)、對應(yīng)實(shí)際存儲在外存儲介質(zhì)上的數(shù)據(jù)庫。內(nèi)模式由內(nèi)模式描述語言來描述、定義,它是數(shù)據(jù)庫的存儲觀。在一個數(shù)據(jù)庫系統(tǒng)中,只有唯一的數(shù)據(jù)庫,因而作為定義、描述數(shù)據(jù)庫存儲結(jié)構(gòu)的內(nèi)模式和定義、描述數(shù)據(jù)庫邏輯結(jié)構(gòu)的模式,也是唯…的,但建立在數(shù)據(jù)庫系統(tǒng)之上的應(yīng)用則是非常廣泛、多樣的,所以對應(yīng)的外模式不是唯一的,也不可能是唯一的。7.1.4數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系(1)外模式/模式映射模式是一個全局模式,而外模式是用戶的局部模式,數(shù)據(jù)庫中的同一模式可以有任意多個外模式,外模式/模式映射確定了數(shù)據(jù)的局部邏輯結(jié)構(gòu)與全局邏輯結(jié)構(gòu)之間的對應(yīng)關(guān)系。這種映射…·般是由DBMS來實(shí)現(xiàn)的。(2)模式/內(nèi)模式映射數(shù)據(jù)庫中的模式和內(nèi)模式都只有一個,所以模式/內(nèi)模式映象是唯一的。該映射給出了概念模式中數(shù)據(jù)的全局邏粗結(jié)構(gòu)到數(shù)據(jù)的物理存儲結(jié)構(gòu)間的對應(yīng)關(guān)系,此種映射一般也是由DBMS實(shí)現(xiàn)。7.2
數(shù)據(jù)模型數(shù)據(jù)模型的基本概念概念模型層次模型網(wǎng)狀模型7.2.1數(shù)據(jù)模型的基本概念數(shù)據(jù)模型(DataModel)是專門用來抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息的工具。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心:通俗地講,數(shù)據(jù)模型是對現(xiàn)實(shí)世界的模擬。數(shù)據(jù)模型應(yīng)滿足工方面要求:一是能比較真實(shí)地模擬現(xiàn)實(shí)世界:二是容易理解;三是易在計(jì)算機(jī)上實(shí)現(xiàn)。在數(shù)據(jù)庫系統(tǒng)中針對不同的使用對象和應(yīng)用目的,采用不同的數(shù)據(jù)模型。7.2.1數(shù)據(jù)模型的基本概念第一類模型是概念模型,也稱信息模型,它是一種獨(dú)立于計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)模型,完全不涉及信息在計(jì)算機(jī)中的表示,只是用來描述某個特定組織所關(guān)心的信息結(jié)構(gòu)。這一類模型中最著名的是“實(shí)體聯(lián)系模型”。第二類模型是數(shù)據(jù)模型,主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模,是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是對現(xiàn)實(shí)世界的第二層抽象。這類模型直接與DBMS有關(guān),稱為“邏輯數(shù)據(jù)模型”,一般又稱為“結(jié)構(gòu)數(shù)據(jù)模型”,這類模型有嚴(yán)格的形式化定義,以便于在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。各種機(jī)器上實(shí)現(xiàn)的DBMS軟件都是基于某種數(shù)據(jù)模型的。數(shù)據(jù)是現(xiàn)實(shí)世界符號的抽象,而數(shù)據(jù)模型則是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作一個抽象的框架數(shù)據(jù)模型由要素所組成,分別是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作與數(shù)據(jù)完整性約束。7.2.1數(shù)據(jù)模型的基本概念(1)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)描述的是數(shù)據(jù)庫的組成對象以及對象之間的聯(lián)系。它包括兩塊內(nèi)容:一類與數(shù)據(jù)類型,內(nèi)容、性質(zhì)有關(guān)的對象;另一類與數(shù)據(jù)之間聯(lián)系有關(guān)的對象。數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)模型的基礎(chǔ),是其最重要的構(gòu)成要素。因此,人們通常按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型,例如,關(guān)系結(jié)構(gòu)的數(shù)據(jù)模型命名為關(guān)系模型。數(shù)據(jù)結(jié)構(gòu)是所描述的對象類型的集合,是對系統(tǒng)靜態(tài)特征的描述。(2)數(shù)據(jù)操作數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)模型必須定義對數(shù)據(jù)庫中檢索和更新操作的確切含義、操作符號、操作規(guī)則以及實(shí)現(xiàn)操作的語言。數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。7.2.1數(shù)據(jù)模型的基本概念(3)數(shù)據(jù)完整性數(shù)據(jù)完整性是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的止確性、有效性和相容性。數(shù)據(jù)模型應(yīng)該提供定義完整性約束條件的機(jī)制。7.2.2概念模型概念數(shù)據(jù)模型(ConceptualDataModel)簡稱概念模型,它是…種面向客觀世界、而向用戶的模型;它與管理系統(tǒng)無關(guān),與具體的計(jì)算機(jī)平臺無關(guān),概念模型著重于對客觀世界復(fù)雜事物之間的內(nèi)在聯(lián)系的刻畫。模型是整個數(shù)據(jù)模型的基礎(chǔ)。目前,較為有名的概念模型有E-R模型、擴(kuò)充的E-R模型、面向?qū)ο竽P图爸^詞模型等。7.2.2概念模型1.基本概念(1)實(shí)體:客觀上存在且可區(qū)分的事物稱為實(shí)體。實(shí)體可以是人,也可以是物;可以指實(shí)際的對象,也可以指某些概念;可以指事物與事物間的聯(lián)系。,如學(xué)生是…個實(shí)體。(2)屬性:實(shí)體所具有的某一方面的特性。一個實(shí)體可以由若干個屬性來刻畫。如公司員工由員工編號、姓名、年齡、性別等屬性組成。如學(xué)生實(shí)體有學(xué)號、姓名和性別等屬性(3)關(guān)鍵字:實(shí)體的某一屬性或?qū)傩越M合,其取用的值能唯一標(biāo)識出該實(shí)體,稱為關(guān)鍵字,也稱碼。如學(xué)號是學(xué)生實(shí)體集的關(guān)鍵字,由于姓名有取相同值的可能,故不應(yīng)作為關(guān)鍵字。(4)域:域是某(些)屬性的取值范圍。如姓名的域?yàn)樽址?,性別的域?yàn)槟?、女等?.2.2概念模型(5)實(shí)體型:具有相同屬性的實(shí)體必須具有共同的特性。用實(shí)體名及其屬性名集合來抽象和劃畫同類實(shí)體,稱為實(shí)體型。例如,學(xué)生(學(xué)號,姓名,性別,班號)就是一個實(shí)體型。(6)實(shí)體集:同型實(shí)體的集合稱為實(shí)體集。如全體學(xué)生就是一個實(shí)體集。(7)聯(lián)系:現(xiàn)實(shí)世界的事物之間總是存在某種聯(lián)系的,這種聯(lián)系必然要在信息養(yǎng)中加以反映。一般存在兩類聯(lián)系:一是實(shí)體內(nèi)部的聯(lián)系,如組成實(shí)體的屬性之間的聯(lián)系:二是實(shí)體之間的聯(lián)系。兩個實(shí)體之間的聯(lián)系又可分為如下三類。一對一聯(lián)系(1:1)。實(shí)體集A中的一個實(shí)體至多與實(shí)體集B中的一個實(shí)體相對應(yīng)、反之亦然。例如、一個部門有一個經(jīng)理,而每個經(jīng)理只在一個部門任職,這祥都門和經(jīng)理之間就相互…對應(yīng)。一對多聯(lián)系(1:n)。實(shí)體集A中的一個實(shí)體與實(shí)體集B中的多個實(shí)體相對應(yīng)、反之則不然。例如,一個部門有多個職工,這樣部門和職工之間存在著一對多的聯(lián)系。多對多聯(lián)系(m:n)。實(shí)體集A中的一個實(shí)體與實(shí)體集B中的多個實(shí)體相對應(yīng)、反之亦然。例如,學(xué)校中的課程與學(xué)生之間就存在看多對多的聯(lián)系,每門課程可以供多名學(xué)生選修,而每個學(xué)生又都會選接多門課程,這種關(guān)系可以有很多種處理辦法。7.2.2概念模型2.E-R模型的圖示法長期以來被廣泛使用的概念模型是E-R模型(Eniily-RrlationhipMonel)(或?qū)嵰缆?lián)系模型)、它于1976年由PeerChen首先提出。該模型將現(xiàn)實(shí)世界的委求轉(zhuǎn)化應(yīng)實(shí)體,聯(lián)系、屬性等幾個基本概念,以及它們間的兩種基本連接關(guān)系,并且可以用圖示形式非常直觀地表示出來。E-R圖有四個基本成分。(1)矩形框——表示實(shí)體型。(2)菱形框——表示聯(lián)系型。(3)橢圓形框——農(nóng)示實(shí)體型或聯(lián)系型的屬性。(4)直線——用來連接上述三種圖框。7.2.3層次模型層次模型(HicrarchicalModel)是數(shù)據(jù)庫系統(tǒng)最早使用的一種數(shù)據(jù)模型,它的數(shù)據(jù)結(jié)構(gòu)是一棵倒立的“有向樹”,樹狀結(jié)構(gòu)表示各類實(shí)體及聯(lián)系?,F(xiàn)實(shí)世界中,許多實(shí)體之間的聯(lián)系都表現(xiàn)出一種很自然的層次關(guān)系,如家族關(guān)系、行政機(jī)構(gòu)等,它們自頂向下,層次分明。層次模型就來源于這種層次關(guān)系。7.2.3層次模型層次模型結(jié)構(gòu)有如下特點(diǎn):①有且僅有一個結(jié)點(diǎn)沒有雙親;它就是根結(jié)點(diǎn)。②2其他結(jié)點(diǎn)有且僅有一個雙親,但可以有一個或多個子結(jié)點(diǎn)。在層次模型中,每個結(jié)點(diǎn)描述一個實(shí)體型,稱為記錄類型。一個記錄類型可有許多記錄值,簡稱記錄。結(jié)點(diǎn)間的有向邊表示記錄間的聯(lián)系。如果要存取某一記錄類型的記錄從根結(jié)點(diǎn)起,按照有向樹層次逐層向下查找。查找路徑就是存取路徑。7.2.4網(wǎng)狀模型網(wǎng)狀模型(NetwordModel)的出現(xiàn)略晚于層次模型。如果取消層次模型的兩個限制,即兩個或兩個以上的結(jié)點(diǎn)都可以有多個雙親結(jié)點(diǎn)?!坝邢驑洹本妥兂闪恕坝邢驁D”?!坝邢驁D”結(jié)構(gòu)即描述了網(wǎng)狀模型。網(wǎng)狀模型的特征如下。①可有一個以上的結(jié)點(diǎn)沒有雙親。②至少有一個結(jié)點(diǎn)可以有多于一個的雙親。網(wǎng)狀模型是一種比層次模型更具普遍性的結(jié)構(gòu),它去掉了層次模型的兩個限制,可以更直觀地描述現(xiàn)實(shí)世界。與層次模型一樣,網(wǎng)狀模型中每個結(jié)點(diǎn)表示一個記錄類型(實(shí)體),描述同前。7.2.4網(wǎng)狀模型網(wǎng)狀模型與層次模型的區(qū)別如下:網(wǎng)狀模型允許多個結(jié)點(diǎn)沒有雙親結(jié)點(diǎn)。網(wǎng)狀模型允許結(jié)點(diǎn)有多個雙親結(jié)點(diǎn)。網(wǎng)狀模型允許兩個結(jié)點(diǎn)之間有多種聯(lián)系(復(fù)合聯(lián)系)。網(wǎng)狀模型可以更直接地描述現(xiàn)實(shí)世界。層次模型實(shí)際上是網(wǎng)狀模型的一個特例。7.2.5關(guān)系模型關(guān)系模型(RelationalModel)是在層次、網(wǎng)狀模型之后的模型,由IBM公司SanJose室的E.F.Codd提出的。該數(shù)據(jù)模型的產(chǎn)生開創(chuàng)了數(shù)據(jù)庫的新模式,是最重要的數(shù)據(jù)模型。日前,數(shù)據(jù)庫系統(tǒng)都是以關(guān)系方法為基礎(chǔ)的研究領(lǐng)域,許多非關(guān)系系統(tǒng)產(chǎn)品都加上了關(guān)系接口。關(guān)系數(shù)據(jù)庫已成為目前應(yīng)用最廣泛的數(shù)據(jù)庫系統(tǒng),如現(xiàn)在廣泛使用的小型數(shù)據(jù)庫系統(tǒng)Foxpro、Access,大型數(shù)據(jù)庫系統(tǒng)Oracle、Informix、Sybase、SQLServer等都是關(guān)系數(shù)據(jù)庫系統(tǒng)。7.2.5關(guān)系模型1.關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型是用二維表格結(jié)構(gòu)來表示實(shí)體以及實(shí)體之間聯(lián)系的數(shù)據(jù)模型。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是一個“二維表框架”組成的集合,每個工維表又可稱為關(guān)系,因此可以說,關(guān)系模型是”關(guān)系框架”組成的集合。下面以學(xué)生信息表S為例,介紹關(guān)系模型中的一些術(shù)語。7.2.5關(guān)系模型關(guān)系(Relation):一個關(guān)系對應(yīng)一張二維表。元組(Tuple);表格中的……行,如S表中的…個學(xué)生記錄即為一個元組。屬性(Attribule):表格中的一列,相當(dāng)于記錄中的一個字段,如S表中有五個屬性(學(xué)號,姓名,性別,年齡,系別)。碼:可唯一標(biāo)識無組的最小屬性集,也稱為關(guān)系鍵或主碼。候選碼:某一組屬性集能唯一的標(biāo)識一個元組,而其子集則不能。外碼:若關(guān)系A(chǔ)中的某屬性集是關(guān)系B的主碼,則稱該屬性集為人的外碼或外鍵。域(Domain):屬性的取值范圍,如年齡的域是(14-40),性別的域是(男,女)。分量:每…行對應(yīng)的列的屬性值,即元組中的…個屬性值,如學(xué)號、姓名、年齡等均是一個分量。關(guān)系模式:對關(guān)系的描述,…般表示為關(guān)系名(屬性1,屬性2.…,屬性n),如上面的關(guān)系可描述為學(xué)生(學(xué)號,姓名,性別,系別,年齡)。7.2.5關(guān)系模型關(guān)系模式……般滿足下面6個性質(zhì)。①列是同質(zhì)的,即列對應(yīng)分量來自同一個域。②每一列表示一個屬性,且列名不能重復(fù)。③列的次序可以任意交換,列的次序無關(guān)性。④任意兩個元組的候選碼不能相同,行的不可重復(fù)性。⑤行的次序可以任意交換,行的次序無關(guān)性。列是不可分割的最小數(shù)據(jù)項(xiàng),分量具有原子性。滿足以上6個性質(zhì)的二維表稱為關(guān)系(Relation),以二維表為基本結(jié)構(gòu)所建立的模型稱關(guān)系模型。7.2.5關(guān)系模型2.關(guān)系操作關(guān)系模型的數(shù)據(jù)操作主要包括查詢、插入、刪除和修改數(shù)據(jù)、其數(shù)據(jù)操作又可以分為數(shù)據(jù)查詢和數(shù)據(jù)更新兩塊內(nèi)容。關(guān)系的數(shù)據(jù)查詢表達(dá)能力很強(qiáng),是關(guān)系操作中的最主要部分。查詢操作又可分為選擇、投斃、連接,除、并、差、交、笛卡爾相等。關(guān)系操作的特點(diǎn)如下。①操作對象和操作結(jié)果都是關(guān)系,即關(guān)系模型中的操作是集合操作。②關(guān)系模型中,存取路徑對用戶是隱藏的。7.2.5關(guān)系模型3.關(guān)系的完整性關(guān)系模型的數(shù)據(jù)完整性規(guī)則是對關(guān)系的某種約束條件。這些條件可以理解為現(xiàn)實(shí)世界中的要求。關(guān)系模型中定義了三類完整性約束,它們是實(shí)體完整性、參照完整性和用戶自定義的完整性。其中前兩種由關(guān)系數(shù)據(jù)庫系統(tǒng)自動支持,后者則由關(guān)系數(shù)據(jù)庫系統(tǒng)提供完整性約束語言,用戶按需確定滿足具體語義要求的約束條件。為便于采用統(tǒng)……的系統(tǒng)方法處理之,關(guān)系數(shù)據(jù)庫系統(tǒng)還要提供檢驗(yàn)這類完整性的機(jī)制,與應(yīng)用程序無關(guān)。7.2.5關(guān)系模型(1)實(shí)體完整性(FntityIntegrity)實(shí)體完整性規(guī)則是針對基本關(guān)系面言的。一個基本表通常對應(yīng)現(xiàn)實(shí)世界的一個實(shí)體集。而現(xiàn)實(shí)世界中的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識。實(shí)體完整性是指主碼的值不能為空或部分為空??罩挡皇强崭?,它指跳過而不輸入,用“NULL”表示,表明“不知道”“無意義”等語義。(2)參照完整性(ReferenceIntegrity)如果屬性X不是關(guān)系R的主碼,而是另一關(guān)系S的主碼,則該屬性X稱為關(guān)系R的外碼,并稱關(guān)系B為參照關(guān)系,關(guān)系S為被參照關(guān)系。外碼·…般用波浪線標(biāo)示。參照完整性規(guī)則,要求外碼只能取下面兩類值??罩?。非空值,該值必須與被參照關(guān)系中主碼的某個取值一致。7.2.5關(guān)系模型(3)用戶定義的完整性(UserdefinedIntegrity)不同的關(guān)系數(shù)據(jù)庫系統(tǒng)由于應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性是針對某一具體應(yīng)用領(lǐng)域,對關(guān)系數(shù)據(jù)庫提出的約束條件。例如,屬性值根據(jù)實(shí)際需要,要具備一些約束條件,如選課關(guān)系中成績不能為負(fù)數(shù)、性別只能為男或女、某些數(shù)據(jù)的輸入格式要有一些限制等。(4)完整性規(guī)則的檢查為了維護(hù)數(shù)據(jù)庫中數(shù)據(jù)的完整性,在對關(guān)系數(shù)據(jù)庫執(zhí)行捕人、刪除和修改操作時(shí),DBMS會自動根據(jù)各種完造性規(guī)則進(jìn)行檢查,拒絕不符合要求的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫。比如,在插入數(shù)據(jù)時(shí),系統(tǒng)調(diào)動不同的機(jī)制進(jìn)行二類完整性檢查。7.4數(shù)據(jù)庫設(shè)計(jì)與管理數(shù)據(jù)庫設(shè)計(jì)方法數(shù)據(jù)庫的設(shè)計(jì)步驟數(shù)據(jù)庫需求分析數(shù)據(jù)庫概念設(shè)計(jì)數(shù)據(jù)庫邏輯設(shè)計(jì)7.4.1數(shù)據(jù)庫設(shè)計(jì)方法由于消息結(jié)構(gòu)復(fù)雜,應(yīng)用環(huán)境多樣,在相當(dāng)長的一段時(shí)期內(nèi),數(shù)據(jù)庫設(shè)計(jì)主要采用手工試湊法,缺乏科學(xué)理論依據(jù)和工程方法的支持,依賴于設(shè)計(jì)人員的經(jīng)驗(yàn)和水平,從而難以保證工程的質(zhì)量,增加了系統(tǒng)維護(hù)的代價(jià)。設(shè)計(jì)人員經(jīng)過十余年的努力探索,提出了各種數(shù)據(jù)庫設(shè)計(jì)方法。這些方法運(yùn)用軟件工程的思想總結(jié)出了各種設(shè)計(jì)準(zhǔn)則和規(guī)程,這些都屬于規(guī)范法設(shè)計(jì)方法。7.4.1數(shù)據(jù)庫設(shè)計(jì)方法規(guī)范方法設(shè)計(jì)中著名的有新奧爾良(NewOreans)方法,它將數(shù)據(jù)庫設(shè)計(jì)分為四個階段:需求分析(分析用戶需求)、概念設(shè)計(jì)(信息分析和定義)、邏輯設(shè)計(jì)(設(shè)計(jì)實(shí)現(xiàn))和物理設(shè)計(jì)(物理數(shù)據(jù)庫設(shè)計(jì))。其后,S.B.Ymo等將數(shù)據(jù)庫設(shè)計(jì)分為5個步驟。7.4.2數(shù)據(jù)庫的設(shè)計(jì)步驟按照規(guī)范化設(shè)計(jì)的方法,考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的開發(fā)全過程,將數(shù)據(jù)庫設(shè)計(jì)分為以下6個階段。1.需求分析階段進(jìn)行數(shù)據(jù)庫設(shè)計(jì)首先必須了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個設(shè)計(jì)過程的基礎(chǔ),也是最困難、最費(fèi)時(shí)間的一步。需求分析首先要收集資料,并對資料進(jìn)行分析整理,畫出數(shù)據(jù)流程圖(DataFlowDiagram.DFD),然后建立數(shù)據(jù)字典(DatuDictionary.DD),并把數(shù)據(jù)字典圖集和數(shù)據(jù)字典的內(nèi)容返回客戶,進(jìn)行用戶確認(rèn),最后形成文檔資料。需求分析是設(shè)計(jì)數(shù)據(jù)庫的起點(diǎn),需求分析的結(jié)果是否準(zhǔn)確反映了客戶的實(shí)際要求,將直接影響到后面各個階段的設(shè)計(jì),并影響設(shè)計(jì)結(jié)果是否合理和實(shí)用。2.概念設(shè)計(jì)階段根據(jù)需求分析的結(jié)果,形成獨(dú)立于機(jī)器特點(diǎn)、獨(dú)立于各個DBMS產(chǎn)品的概念模式(信息世界模型),用E-R圖來描述。數(shù)據(jù)庫的概念設(shè)計(jì)的基本方法將在下節(jié)重點(diǎn)介紹。7.4.2數(shù)據(jù)庫的設(shè)計(jì)步驟3.邏輯設(shè)計(jì)階段將概念設(shè)計(jì)E-R圖轉(zhuǎn)換成具體DBMS產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型(基本表)。形成數(shù)據(jù)庫的模式,并對數(shù)據(jù)進(jìn)行優(yōu)化處理。然后根據(jù)用戶處理的要求,安全性的考慮。在基本表(TABIF)的基礎(chǔ)上再建立必要的視圖(VIEW)形成數(shù)據(jù)庫的外模式。4.物理設(shè)計(jì)階段對邏輯設(shè)計(jì)的關(guān)系模型,根據(jù)DBMS特點(diǎn)和處理的需要,進(jìn)行物理存儲安排,設(shè)計(jì)索引,形成數(shù)據(jù)庫(DATABASE)內(nèi)模式。7.4.2數(shù)據(jù)庫的設(shè)計(jì)步驟5.數(shù)據(jù)庫實(shí)施階段運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏朝設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)序、編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。6.數(shù)據(jù)庫運(yùn)行和維護(hù)階段數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中必領(lǐng)不斷地對其進(jìn)行評價(jià)、調(diào)整與修改。數(shù)據(jù)庫經(jīng)常性的維護(hù)工作主要由數(shù)據(jù)庫管理員來完成,包括數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù),數(shù)據(jù)庫的安全性、完整性控制,數(shù)據(jù)庫性能監(jiān)視、分析和改造、以及數(shù)據(jù)庫的重構(gòu)。在實(shí)際開發(fā)過程中,軟件開發(fā)并不是按順序從第一步進(jìn)行到最后一步,而是在任何階段,以及在進(jìn)入下·…階段前一般都有一步或幾少的回溯。在測試過程中出現(xiàn)的問題可能要求修改設(shè)計(jì),用戶還可能會提出一些需要來修改需求說明書等。7.4.3數(shù)據(jù)庫需求分析從數(shù)據(jù)庫設(shè)計(jì)的角度看,需求分析階段的主要任務(wù)是對現(xiàn)實(shí)世界要處理的對象(公司.部門,企業(yè))進(jìn)行詳細(xì)調(diào)查,在了解現(xiàn)行系統(tǒng)的概況、確定新系統(tǒng)功能的過程中,收集支持系統(tǒng)目標(biāo)的基礎(chǔ)數(shù)據(jù)及其處理方法。需求分析是在用戶調(diào)查的基礎(chǔ)上,通過分析,遂步明確用戶對系統(tǒng)的需求,包括數(shù)據(jù)需求和國繞這些數(shù)據(jù)的業(yè)務(wù)處理需求。對用戶調(diào)查的重點(diǎn)是“數(shù)據(jù)”和“處理”。通過調(diào)查要從用戶那里獲得對新系統(tǒng)的下列需求。(1)信息需求。定義所設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)用到的所有信息,明確用戶將向數(shù)據(jù)庫中輸入什么樣的數(shù)據(jù),從數(shù)據(jù)庫中要求獲得哪些信息,將要輸出哪些信息。也就是明確在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)、對這些數(shù)據(jù)將做哪些處理等,同時(shí)還要描述數(shù)據(jù)間的聯(lián)系等。(2)處理需求。定義系統(tǒng)數(shù)據(jù)處理的操作功能,描述操作的先后次序,操作的執(zhí)行頻率和場合,操作與數(shù)據(jù)間的聯(lián)系,同時(shí)還要明確用戶要完成哪些處理功能,每種處理的執(zhí)行頻度,用戶要求的響應(yīng)時(shí)間以及處理的方式(如是聯(lián)機(jī)處理還是批處理),等等。7.4.3數(shù)據(jù)庫需求分析(3)安全性與完整性要求。安全性要求描述系統(tǒng)中不同用戶對數(shù)據(jù)庫的使用和操作情況,完整性要求描述數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系以及數(shù)據(jù)的取值范圍要求。在收集完各種數(shù)據(jù)后,對調(diào)查的結(jié)果進(jìn)行初步分析,確定新系統(tǒng)的邊界,確定哪些功能由計(jì)算機(jī)完成或?qū)頊?zhǔn)備由計(jì)算機(jī)完成,哪些活動由人工完成、需要計(jì)算機(jī)完成的功能是新系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能。分析和表達(dá)用戶的需求,經(jīng)常采用的方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆椒āS米皂斚蛳?、遂層分解的方式分析系統(tǒng)。用數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系,數(shù)據(jù)字典對系統(tǒng)中數(shù)據(jù)的詳盡描述,是各類數(shù)據(jù)屬性的清單。從數(shù)據(jù)庫設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果。效字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項(xiàng)、是數(shù)據(jù)的最小單位:數(shù)據(jù)結(jié)構(gòu)、是若干數(shù)據(jù)項(xiàng)有意義的集合;數(shù)據(jù)流,可以是數(shù)據(jù)項(xiàng)、也可以是數(shù)據(jù)絡(luò)構(gòu),表示某一處理過程的輸入或輸出:數(shù)據(jù)存儲,處理過程中存取的數(shù)據(jù)、常常是手工憑證、手工文檔或計(jì)算機(jī)文件。7.4.4數(shù)據(jù)庫概念設(shè)計(jì)概念設(shè)計(jì)的目標(biāo)是將需求分析得到的用戶需求抽象為數(shù)據(jù)庫的概念結(jié)構(gòu),即戳念模型,描述概念模型的是E-R圖。1.概念設(shè)計(jì)的方法概念結(jié)構(gòu)設(shè)計(jì)的方法主要有如下幾種。自底向上。先定義每個局部應(yīng)用的概念結(jié)構(gòu)。然后按一定的規(guī)則把從而得到全局概念結(jié)構(gòu)。自頂向下,先定義全局概念結(jié)構(gòu),然后再逐步細(xì)化由里向外。先定義最重要的核心結(jié)構(gòu)。然后再逐步向外擴(kuò)展,以滾雪球的方式遞步形成全局概念結(jié)構(gòu)?;旌喜呗?。將自頂向下和自底向,上方法結(jié)合起來使用。先用自頂向下設(shè)計(jì)……個概念結(jié)構(gòu)的框架,然后以它為框架再用自底向上策略設(shè)計(jì)局部概念結(jié)構(gòu),最后把它們集成起來。7.4.4數(shù)據(jù)庫概念設(shè)計(jì)從這一步開始,需求分析所得到的結(jié)果將按“數(shù)據(jù)”和“處理”分開考慮。概念結(jié)構(gòu)設(shè)計(jì)的重點(diǎn)在于信息結(jié)構(gòu)的設(shè)計(jì),而“處理”可由行為設(shè)計(jì)來考慮。這也是數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn),即“行為”設(shè)計(jì)與“結(jié)構(gòu)”設(shè)計(jì)分離進(jìn)行。但由于兩者原本是一個整體,因此,在設(shè)計(jì)概念結(jié)構(gòu)和邏輯結(jié)構(gòu)時(shí),要考慮如何有效地為“處理”服務(wù),而設(shè)計(jì)應(yīng)用模型時(shí),也要考感如何有效地利用結(jié)構(gòu)設(shè)計(jì)提供的條件。概念結(jié)構(gòu)設(shè)計(jì)使用集合概念,抽取現(xiàn)實(shí)業(yè)務(wù)系統(tǒng)的元素及其應(yīng)用語義關(guān)聯(lián),最終形成E-R模型。7.4.4數(shù)據(jù)庫概念設(shè)計(jì)2.概念設(shè)計(jì)的一般步驟(1)初始化工程這個階段的任務(wù)是從目的描述和范圍描述開始,確定建模目標(biāo),開發(fā)建模計(jì)劃,組織建模隊(duì)伍,收集源材料,⑵定義實(shí)休實(shí)體集合的成員都有--個共同的特征和屬性集,可以從收集的摩材料一基本數(shù)據(jù)資表中直接或問接標(biāo)識出大部分實(shí)體。根據(jù)源材料名字表中表示物的術(shù)語以及具有“代碼“尾的術(shù)語,如客戶代碼、代理商代碼、產(chǎn)品代碼等將其名詞部分代表的實(shí)體標(biāo)識出來,而初步找出潛在的實(shí)體,形成初步實(shí)體表,⑶定義聯(lián)系根據(jù)實(shí)際的業(yè)務(wù)需求、規(guī)則和實(shí)際情況確定出連接關(guān)系、關(guān)系名和說明,確定關(guān)系類嘹,是標(biāo)識關(guān)系、非標(biāo)識關(guān)系(強(qiáng)制的或可選的)還是非確定關(guān)系、分類關(guān)系。如果子實(shí)體的每個實(shí)例都需要通過和父實(shí)體的關(guān)系來標(biāo)識。則為標(biāo)識關(guān)系,否則為非標(biāo)識關(guān)系。非標(biāo)制走約束和規(guī)范。其中收集源表、收集的原始數(shù)據(jù)形成了基本數(shù)據(jù)資料表。7.4.4數(shù)據(jù)庫概念設(shè)計(jì)(4)定義碼為實(shí)體標(biāo)識候選碼屬性,以便唯一識別每個實(shí)體,再從候選碼中確定主碼。為了確定主碼和關(guān)系的有效性,通過非空規(guī)則和非多值規(guī)則來保證,即一個實(shí)體的一個屬性不能是空值,也不能在同一個時(shí)刻有一個以上的值。(5)定義屬性從源數(shù)據(jù)表中抽取說明性的名詞開發(fā)出屬性表,確定屬性的所有者。定義非主碼屬性,檢查屬性的非空及非多值規(guī)則。此外,還要檢登完全依賴函數(shù)規(guī)則和非傳遞依賴規(guī)則,保證一個非主碼屬性必須依賴于整個主碼主碼且僅是依賴于主碼。以此得到了至少符合關(guān)系理論第三范式。(6)定義其他對象和規(guī)則定義屬性的數(shù)據(jù)類型、長度、精度、非空、缺省值、約束規(guī)則等。定義觸發(fā)器、存儲過程、視圖、角色、同義詞、序列等對象信息。7.5數(shù)據(jù)庫邏輯設(shè)計(jì)1.E-R圖轉(zhuǎn)換為關(guān)系模型
設(shè)計(jì)數(shù)據(jù)陣時(shí),在概念模型階段用E-R圖對信息做了抽象反映,簡單、清晰、易于用戶理解。在邏輯設(shè)計(jì)階段,則需從E-日圖出發(fā)來構(gòu)造具體指定的DBMS的數(shù)據(jù)模利。
從E-R圖出發(fā)導(dǎo)出關(guān)系模型數(shù)據(jù)結(jié)構(gòu)有兩點(diǎn)原則。
(1)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- SBS防水卷材標(biāo)準(zhǔn)化施工流程
- 施工重難點(diǎn)分析措施
- 施工現(xiàn)場疫情應(yīng)急處置措施
- 重點(diǎn)、難點(diǎn)、特殊部位施工技術(shù)保證措施
- 鋁合金模板施工安全文明保障措施
- 共同出資投資攝影館合伙協(xié)議
- 財(cái)產(chǎn)信托合同樣板
- 買賣股份協(xié)議書范本
- 鋼框架結(jié)構(gòu)施工人員培訓(xùn)方案
- 工程建設(shè)合同中的風(fēng)險(xiǎn)控制策略
- 高一政治必修一中國特色社會主義重點(diǎn)知識點(diǎn)歸納框架
- 福建省福州市倉山區(qū)2023-2024學(xué)年六年級上學(xué)期期末數(shù)學(xué)試卷
- 2023-2024學(xué)年福建省廈門市湖里區(qū)湖里中學(xué)數(shù)學(xué)七年級第一學(xué)期期末監(jiān)測試題含解析
- 全膝關(guān)節(jié)置換術(shù)加速康復(fù)臨床路徑(2023年版)
- 機(jī)電安裝工程質(zhì)量控制
- 江蘇省宿遷市2022-2023學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(含答案詳解)
- Unit 1 Art Using Language (教案)-高中英語人教版(2019)·選擇性必修第三冊
- 2023-2024學(xué)年鞍山市重點(diǎn)中學(xué)高一上數(shù)學(xué)期末質(zhì)量檢測試題含解析
- 基于PLC的自動打鈴控制器
- 中式烹調(diào)技藝教案
- 招標(biāo)代理及政府采購常識匯編
評論
0/150
提交評論