數(shù)據(jù)庫基礎培訓教程課件_第1頁
數(shù)據(jù)庫基礎培訓教程課件_第2頁
數(shù)據(jù)庫基礎培訓教程課件_第3頁
數(shù)據(jù)庫基礎培訓教程課件_第4頁
數(shù)據(jù)庫基礎培訓教程課件_第5頁
已閱讀5頁,還剩213頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章數(shù)據(jù)庫基礎數(shù)據(jù)庫系統(tǒng)概述1.1數(shù)據(jù)管理技術的發(fā)展1.2數(shù)據(jù)模型1.3關系數(shù)據(jù)庫1.4數(shù)據(jù)庫系統(tǒng)的體系結構1.5數(shù)據(jù)庫系統(tǒng)設計簡介1.61第1章數(shù)據(jù)庫基礎數(shù)據(jù)庫系統(tǒng)概述1.1數(shù)據(jù)管理技術的發(fā)展1隨著科學技術和社會經(jīng)濟的飛速發(fā)展,人們掌握的信息量急劇增加,要充分地開發(fā)和利用這些信息資源,就必須有一種新技術能對大量的信息進行識別、存儲、處理與傳播。隨著計算機軟硬件技術的發(fā)展,20世紀60年代末,數(shù)據(jù)庫技術應運而生,并從70年代起得到了迅速的發(fā)展和廣泛的應用。數(shù)據(jù)庫技術主要研究如何科學地組織和存儲數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)庫技術作為數(shù)據(jù)管理的最新技術,目前已廣泛應用于各個領域。對于一個國家來說,數(shù)據(jù)庫的建設規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已經(jīng)成為衡量這個國家信息化程度的重要標志。2隨著科學技術和社會經(jīng)濟的飛速發(fā)展,人們掌握的信息量1.1數(shù)據(jù)庫系統(tǒng)概述1.信息:信息是人腦對現(xiàn)實世界中的客觀事物以及事物之間聯(lián)系的抽象反映,它向我們提供了關于現(xiàn)實世界實際存在的事物及其聯(lián)系的有用知識。2.數(shù)據(jù):數(shù)據(jù)是人們用各種物理符號,把信息按一定格式記載下來的有意義的符號組合。數(shù)據(jù)不僅僅是數(shù)字,還可以是文字、圖象、聲音等各種表現(xiàn)形式。數(shù)據(jù)經(jīng)數(shù)字化后可以存入計算機中,是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)和它的語義是不可分割的。31.1數(shù)據(jù)庫系統(tǒng)概述1.信息:信息是人腦對現(xiàn)實世界中的客1.1數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)的形式不能完全表達其內(nèi)容。例如:(李明,78)我們可以賦予它一定的語義,它表示李明的期末考試平均成績?yōu)?8分。如果不了解其語義,則無法對其進行解釋,甚至解釋為李明的年齡為78。99:8179,7954舅舅:不要吃酒,吃酒誤事1×1=1一成不變10002=100×100×100千方百計7/8七上八下7÷2不三不四41.1數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)的形式不能完全表達其內(nèi)容。例如:41.1數(shù)據(jù)庫系統(tǒng)概述3.數(shù)據(jù)處理:指對各種形式的數(shù)據(jù)進行收集、整理、加工、存儲和傳播的一系列活動的總和。其目的之一是從大量的原始數(shù)據(jù)中提取出對人們有價值的信息,作為行動和決策的依據(jù);目的之二是為了借助計算機科學地保存和管理大量的復雜的數(shù)據(jù),以便人們能方便地充分利用這些信息資源。4.數(shù)據(jù)庫(DB):以一定的方式保存在計算機存儲設備上的相互關聯(lián)的數(shù)據(jù)的集合。51.1數(shù)據(jù)庫系統(tǒng)概述3.數(shù)據(jù)處理:指對各種形式的數(shù)據(jù)進行1.1數(shù)據(jù)庫系統(tǒng)概述5.數(shù)據(jù)庫管理系統(tǒng)(DBMS)

:用于幫助我們管理輸入到計算機中的大量數(shù)據(jù)。如用于創(chuàng)建數(shù)據(jù)庫,向數(shù)據(jù)庫中存儲數(shù)據(jù),修改數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取信息等。一個DBMS應具備如下功能:(1)數(shù)據(jù)定義功能(2)數(shù)據(jù)操縱功能(3)數(shù)據(jù)查詢功能(4)數(shù)據(jù)控制功能(5)數(shù)據(jù)庫通信功能61.1數(shù)據(jù)庫系統(tǒng)概述5.數(shù)據(jù)庫管理系統(tǒng)(DBMS):1.1數(shù)據(jù)庫系統(tǒng)概述6.數(shù)據(jù)庫管理員:數(shù)據(jù)庫的建立、使用和維護只靠DBMS是不夠的,還需要有專門的人員來完成,這些人員稱為數(shù)據(jù)庫管理員7.數(shù)據(jù)庫系統(tǒng)(DBS):在計算機系統(tǒng)中引入數(shù)據(jù)庫的系統(tǒng)。除了相關的硬件之外,數(shù)據(jù)庫系統(tǒng)還包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應用系統(tǒng)、數(shù)據(jù)庫管理員和用戶。71.1數(shù)據(jù)庫系統(tǒng)概述6.數(shù)據(jù)庫管理員:數(shù)據(jù)庫的建立、使用1.2數(shù)據(jù)管理技術的發(fā)展什么是數(shù)據(jù)管理?對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護,是數(shù)據(jù)處理的中心問題。數(shù)據(jù)管理技術的發(fā)展動力應用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展數(shù)據(jù)管理技術的發(fā)展過程人工管理階段(40年代中--50年代中)文件系統(tǒng)階段(50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)81.2數(shù)據(jù)管理技術的發(fā)展什么是數(shù)據(jù)管理?81.2數(shù)據(jù)管理技術的發(fā)展1.人工管理階段在計算機發(fā)展的初級階段,計算機硬件本身還不具備象磁盤這樣的可直接存取的存儲設備,因此也無法實現(xiàn)對大量數(shù)據(jù)的保存,也沒有用來管理數(shù)據(jù)的相應軟件,計算機主要用于科學計算。這個階段的數(shù)據(jù)管理是以人工管理的方式進行的,人們還沒有形成一套數(shù)據(jù)管理的完整的概念。91.2數(shù)據(jù)管理技術的發(fā)展1.人工管理階段91.2數(shù)據(jù)管理技術的發(fā)展人工管理階段的主要特點:(1)數(shù)據(jù)不保存。計算機主要用于科學計算,計算時輸入數(shù)據(jù),用完就撤走數(shù)據(jù)。(2)還沒有文件的概念。數(shù)據(jù)由每個程序的程序員自行組織和安排。(3)數(shù)據(jù)不共享:每組數(shù)據(jù)和一個應用程序相對應,因此可能導致大量的數(shù)據(jù)重復。(4)沒有形成完整的數(shù)據(jù)管理的概念,更沒有對數(shù)據(jù)進行管理的軟件系統(tǒng)。每個程序都要包括數(shù)據(jù)存取方法、輸入/輸出方法和數(shù)據(jù)組織方法,程序直接面向存儲結構,因此存儲結構的任何修改都將導致程序的修改。程序和數(shù)據(jù)不具有獨立性。101.2數(shù)據(jù)管理技術的發(fā)展人工管理階段的主要特點:101.2數(shù)據(jù)管理技術的發(fā)展人工管理階段的特點可以用下圖來描述:應用程序1數(shù)據(jù)集1應用程序2數(shù)據(jù)集2應用程序n數(shù)據(jù)集n…………111.2數(shù)據(jù)管理技術的發(fā)展人工管理階段的特點可以用下圖來描述1.2數(shù)據(jù)管理技術的發(fā)展2.文件系統(tǒng)階段隨著計算機軟硬件技術的發(fā)展,如直接存儲設備的產(chǎn)生,操作系統(tǒng)、高級語言及數(shù)據(jù)管理軟件的出現(xiàn),計算機不僅用于科學計算,也開始大量用于信息管理。數(shù)據(jù)可以以文件的形式長期獨立地保存在磁盤上,且可以由多個程序反復使用;操作系統(tǒng)及高級語言或數(shù)據(jù)管理軟件提供了對數(shù)據(jù)的存取和管理功能,這就是文件系統(tǒng)階段。121.2數(shù)據(jù)管理技術的發(fā)展2.文件系統(tǒng)階段121.2數(shù)據(jù)管理技術的發(fā)展文件系統(tǒng)階段的主要特點:(1)數(shù)據(jù)可以長期保存在磁盤上,因此可以重復使用。數(shù)據(jù)不再屬于某個特定的程序,可以由多個程序反復使用。(2)數(shù)據(jù)的物理結構和邏輯結構有了區(qū)別,但較簡單。程序開始通過文件名和數(shù)據(jù)打交道,不必關心數(shù)據(jù)的物理存放位置,對數(shù)據(jù)的讀/寫方法由文件系統(tǒng)提供。(3)程序和數(shù)據(jù)之間有了一定的獨立性。應用程序通過文件系統(tǒng)對數(shù)據(jù)文件中的數(shù)據(jù)進行存取和加工,程序員不必過多地考慮數(shù)據(jù)的物理存儲細節(jié),并且,數(shù)據(jù)在存儲上的改變不一定反映在程序上,節(jié)省了維護工作。(4)出現(xiàn)了多種文件存儲形式及相應的訪問方式;但文件之間是獨立的,它們之間的聯(lián)系要通過程序去構造,文件的共享性也還比較差。數(shù)據(jù)的存取基本上以記錄為單位。131.2數(shù)據(jù)管理技術的發(fā)展文件系統(tǒng)階段的主要特點:131.2數(shù)據(jù)管理技術的發(fā)展文件系統(tǒng)階段程序和數(shù)據(jù)之間的關系可以用下圖來描述:應用程序1文件1應用程序2文件2應用程序n文件n…………文件系統(tǒng)141.2數(shù)據(jù)管理技術的發(fā)展文件系統(tǒng)階段程序和數(shù)據(jù)之間1.2數(shù)據(jù)管理技術的發(fā)展雖然文件系統(tǒng)比人工管理有了長足的進步,但是文件系統(tǒng)所能提供的數(shù)據(jù)存取方法和操作數(shù)據(jù)的手段還是非常的有限。數(shù)據(jù)的存儲結構和程序之間的依賴關系并未根本改變;數(shù)據(jù)冗余大;數(shù)據(jù)的重復以及數(shù)據(jù)之間沒有建立起相互聯(lián)系還會造成數(shù)據(jù)的不一致性。隨著信息時代的到來,人們要處理的信息量急劇增加,對數(shù)據(jù)的處理要求也越來越復雜,文件系統(tǒng)的功能已經(jīng)不能適應新的需求,而數(shù)據(jù)庫技術也正是在這種需求的推動下逐步產(chǎn)生的。151.2數(shù)據(jù)管理技術的發(fā)展雖然文件系統(tǒng)比人工管理有1.2數(shù)據(jù)管理技術的發(fā)展3.數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段使用數(shù)據(jù)庫技術來管理數(shù)據(jù)。它克服了文件系統(tǒng)的不足,并增強了許多新功能。在這一階段,數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一控制,數(shù)據(jù)不再面向某個應用而是面向整個系統(tǒng),因此數(shù)據(jù)可以被多個用戶、多個應用共享。161.2數(shù)據(jù)管理技術的發(fā)展3.數(shù)據(jù)庫系統(tǒng)階段161.2數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)庫系統(tǒng)階段的特點:(1)能根據(jù)不同的需要按不同的方法組織數(shù)據(jù),以最大限度地提高用戶或應用程序訪問數(shù)據(jù)的效率。(2)數(shù)據(jù)庫不僅能夠保存數(shù)據(jù)本身,還能保存數(shù)據(jù)之間的相互聯(lián)系,保證了對數(shù)據(jù)修改的一致性。(3)相同的數(shù)據(jù)可以共享,降低了數(shù)據(jù)的冗余度。(4)數(shù)據(jù)具有較高的獨立性,數(shù)據(jù)的組織和存儲方法與應用程序相互獨立,互不依賴,大大降低了應用程序的開發(fā)代價和維護代價。(5)提供了一整套的安全機制來保證數(shù)據(jù)的安全、可靠。(6)可以給數(shù)據(jù)定義一些約束條件來保證數(shù)據(jù)的正確性。171.2數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)庫系統(tǒng)階段的特點:171.2數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)庫系統(tǒng)階段應用程序和數(shù)據(jù)庫之間的關系可以用下圖來表示:應用程序1應用程序2應用程序n……數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫181.2數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)庫系統(tǒng)階段應用程序和數(shù)1.3數(shù)據(jù)模型數(shù)據(jù)庫是某個企業(yè)、組織或部門所涉及的數(shù)據(jù)的綜合,它不僅要反映數(shù)據(jù)本身的內(nèi)容,而且要反映數(shù)據(jù)之間的聯(lián)系。由于計算機不可能直接處理現(xiàn)實世界中的具體事物,所以人們必須事先把具體事物轉(zhuǎn)換成計算機能夠處理的數(shù)據(jù)。在數(shù)據(jù)庫技術中使用數(shù)據(jù)模型來抽象、表示現(xiàn)實世界中的數(shù)據(jù)和信息。

模型:對現(xiàn)實世界特征的模擬和抽象。

數(shù)據(jù)模型:對現(xiàn)實世界數(shù)據(jù)特征的模擬和抽象。191.3數(shù)據(jù)模型數(shù)據(jù)庫是某個企業(yè)、組織或部門所涉1.3數(shù)據(jù)模型現(xiàn)實世界中的數(shù)據(jù)要進入到數(shù)據(jù)庫中,需要經(jīng)過人們的認識、理解、整理、規(guī)范和加工??梢园堰@一過程劃分成三個主要階段,即現(xiàn)實世界階段、信息世界階段和機器世界階段?,F(xiàn)實世界中的數(shù)據(jù)經(jīng)過人們的認識和抽象,形成信息世界;在信息世界中用概念模型來描述數(shù)據(jù)及其聯(lián)系,概念模型按用戶的觀點對數(shù)據(jù)和信息進行建模,獨立于具體的機器和DBMS;根據(jù)所使用的具體機器和DBMS,需要對概念模型進行進一步轉(zhuǎn)換,形成在具體機器環(huán)境下可以實現(xiàn)的數(shù)據(jù)模型。201.3數(shù)據(jù)模型現(xiàn)實世界中的數(shù)據(jù)要進入到數(shù)據(jù)庫中,1.3數(shù)據(jù)模型三個階段之間的相互關系:不依賴于具體機器和DBMS依賴于具體機器和DBMS現(xiàn)實世界信息世界:概念模型機器世界:某DBMS支持的數(shù)據(jù)模型抽象轉(zhuǎn)換211.3數(shù)據(jù)模型三個階段之間的相互關系:不依賴于具1.3.1現(xiàn)實世界1.實體:現(xiàn)實世界中客觀存在并可以相互區(qū)分的事物稱。如學生、課程、零件、案件等都是實體。2.實體的特征:每一個實體具有的特征。如“學生”實體具有學號、姓名、性別等特征;“零件”實體具有名稱、規(guī)格型號、生產(chǎn)日期、單價等特征。3.實體集:具有相同特征的一類實體的集合構成了實體集。例如,所有的學生構成了“學生”實體集。4.標識特征:在一個實體集中,用于區(qū)分實體的特征稱。例如,對于學生實體,學號可以作為其標識特征,而性別則不能作為其標識特征。221.3.1現(xiàn)實世界1.實體:現(xiàn)實世界中客觀存在并可以相互1.3.2信息世界人們對現(xiàn)實世界的對象進行抽象,并對其進行命名、分類,在信息世界用概念模型來對其進行描述。信息世界涉及的主要概念:1.實體:對應于現(xiàn)實世界的實體。如一個學生、一門課等。2.屬性:對應于實體的特征。一個實體可以由若干個屬性來刻畫。例如,學生實體可以有學號、姓名、性別、班級、年齡等屬性。3.碼:對應于實體的標識特征。例如,學生實體可以用學號來唯一標識,因此學號可以作為學生實體的碼。231.3.2信息世界人們對現(xiàn)實世界的對象進行抽象,1.3.2信息世界4.域:屬性的取值范圍稱為該屬性的域。例如,姓名的域為字符串集合;年齡的域為不小于零的整數(shù);性別的域為(男,女)。5.實體型:用實體名及其屬性名集合來描述實體,例如,學生實體型描述為:學生(學號,姓名,性別,年齡)例如,課程實體型可以描述為:課程(課程號,課程名,學分)6.實體集:同型實體的集合構成了實體集。例如,全體學生構成了學生實體集。241.3.2信息世界4.域:屬性的取值范圍稱為該屬性的域1.3.2信息世界7.聯(lián)系:現(xiàn)實世界中的事物之間通常都是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常指不同實體集之間的聯(lián)系。這些聯(lián)系總的來說可以劃分為三種:一對一聯(lián)系一對多(或多對一)聯(lián)系多對多聯(lián)系。這里討論實體之間的聯(lián)系251.3.2信息世界7.聯(lián)系:現(xiàn)實世界中的事物之間通常都1.3.2信息世界(1)一對一聯(lián)系:如果實體集A與實體集B之間存在聯(lián)系,并且對于實體集A中的任意一個實體,在實體集B中至多只有一個實體與之對應;而對于實體集B中的任意一個實體,在實體集A中也至多只有一個實體與之對應,則稱實體集A和實體集B之間存在著一對一的聯(lián)系(表示為1:1)。261.3.2信息世界(1)一對一聯(lián)系:如果實體集A與實體集1.3.2信息世界例如,“公司”是一種實體,“總經(jīng)理”也是一種實體。如果按照語義,一個公司只能有一個總經(jīng)理,而一個總經(jīng)理只能管理某一個公司,則“公司”和“總經(jīng)理”實體之間的聯(lián)系就是一對一的聯(lián)系。如下圖:公司管理總經(jīng)理11271.3.2信息世界例如,“公司”是一種實體,1.3.2信息世界(2)一對多聯(lián)系:如果實體集A與實體集B之間存在聯(lián)系,并且對于實體集A中的任意一個實體,在實體集B中可以有多個實體與之對應;而對于實體集B中的任意一個實體,在實體集A中至多只有一個實體與之對應,則稱實體集A到實體集B的聯(lián)系是一對多的聯(lián)系(表示為1:n)。281.3.2信息世界(2)一對多聯(lián)系:如果實體集A與實體1.3.2信息世界

例如,“部門”是一種實體,“職工”也是一種實體。如果按照語義,一個部門可以有多個職工,而一個職工只能歸屬于一個部門,則“部門”實體到“職工”實體的聯(lián)系就是一對多的聯(lián)系,如下圖:部門屬于職工1n291.3.2信息世界例如,“部門”是一種實體,1.3.2信息世界(3)多對多聯(lián)系:如果實體集A與實體集B之間存在聯(lián)系,并且對于實體集A中的任意一個實體,在實體集B中可以有多個實體與之對應;而對于實體集B中的任意一個實體,在實體集A中也可以有多個實體與之對應,則稱實體集A到實體集B的聯(lián)系是多對多的聯(lián)系(表示為m:n)。301.3.2信息世界(3)多對多聯(lián)系:如果實體集A與實1.3.2信息世界

例如,“學生”是一種實體,“課程”也是一種實體?!皩W生”實體到“課程”實體的聯(lián)系就是多對多的聯(lián)系。因為一個學生可以學習多門課程,而一門課程又可以有多個學生來學習。如下圖:學生選修課程mn311.3.2信息世界例如,“學生”是一種實體,“課1.3.2信息世界

兩個以上的實體之間也存在一對一、一對多和多對多的聯(lián)系。例如“郵局”是一種實體,“郵票”是一種實體,“顧客”是一種實體,這三個實體之間存在著一種關系,這里稱之為“購買”。它表示,一個顧客可以在多個郵局中買多種郵票;一個郵局可以把多種郵票出售給多個顧客;一種郵票可以在多個郵局中被多個顧客所購買。這樣的三元關系可以表示成:321.3.2信息世界兩個以上的實體之間也存在一對一、一對1.3.2信息世界郵局購買顧客m郵票Pn331.3.2信息世界郵局購買顧客m郵票Pn331.3.2信息世界8.概念模型:概念模型是對信息世界的建模,因此,概念模型應該能夠方便、準確地表示出信息世界中的常用概念。概念模型有多種表示方法,其中最常用的是“實體-聯(lián)系方法”(EntityRelationshipApproach),簡稱E-R方法,E-R方法用E-R圖來描述現(xiàn)實世界的概念模型,E-R圖提供了表示實體、屬性和聯(lián)系的方法。341.3.2信息世界8.概念模型:概念模型是對信息世界的建1.3.2信息世界(1)實體型:用矩形表示,在矩形內(nèi)寫明實體名。例如,學生實體和課程實體用E-R圖表示如下:學生課程(2)屬性:用橢圓形表示,并用無向邊將其與實體連接起來。例如,學生實體及其屬性用E-R圖表示如下:學生學號姓名性別年齡351.3.2信息世界(1)實體型:用矩形表示,在矩形內(nèi)寫1.3.2信息世界(3)聯(lián)系:用菱形表示,在菱形框內(nèi)寫明聯(lián)系的名稱,并用無向邊將其與有關的實體連接起來,同時在無向邊旁標上聯(lián)系的類型。注意:聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。361.3.2信息世界(3)聯(lián)系:用菱形表示,在菱形框內(nèi)寫1.3.2信息世界例如,下圖表示了學生實體和課程實體之間的聯(lián)系“選修”,每個學生選修某一門課程會產(chǎn)生一個成績,因此,“選修”聯(lián)系有一個屬性“成績”,學生和課程實體之間是多對多的聯(lián)系。課程號課程名m學生選修課程n學分學號姓名性別年齡成績371.3.2信息世界例如,下圖表示了學生實體和課程實體之1.3.2信息世界用E-R圖表示的概念模型獨立于具體的DBMS所支持的數(shù)據(jù)模型,是各種數(shù)據(jù)模型的共同基礎,因此比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。381.3.2信息世界用E-R圖表示的概念模型獨立于具體的1.3.3機器世界概念模型是獨立于機器的,需要轉(zhuǎn)換成具體的DBMS所能識別的數(shù)據(jù)模型,才能將數(shù)據(jù)和數(shù)據(jù)之間的聯(lián)系保存到計算機上。在計算機中可以用不同的方法來表示數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系,把表示數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系的方法稱為數(shù)據(jù)模型。數(shù)據(jù)庫領域常見的數(shù)據(jù)模型有4種:(1)層次模型(HierarchicalModel)(2)網(wǎng)狀模型(NetworkModel)(3)關系模型(RelationalModel)(4)面向?qū)ο蟮哪P?ObjectOrientedModel)其中,關系模型是目前使用最廣泛的數(shù)據(jù)模型。391.3.3機器世界概念模型是獨立于機器的,需要轉(zhuǎn)換成具1.4關系數(shù)據(jù)庫這里介紹的關系模型是用戶觀點下的數(shù)據(jù)模型,實際上關系模型是可以在某種DBMS的支持下、用某種語言進行描述的,通過DBMS提供的功能實現(xiàn)對其進行存儲和實施各種操作。把支持關系模型的數(shù)據(jù)庫管理系統(tǒng)稱為關系數(shù)據(jù)庫管理系統(tǒng),簡稱RDBMS。401.4關系數(shù)據(jù)庫這里介紹的關系模型是用戶觀點下的數(shù)據(jù)模1.4.1關系模型關系模型的組成:關系數(shù)據(jù)結構關系操作集合關系完整性約束411.4.1關系模型關系模型的組成:411.4.1關系模型1.關系數(shù)據(jù)結構

在用戶觀點下,關系模型中數(shù)據(jù)的邏輯結構是一張二維表,它由行和列組成。例如,學生信息表:學號姓名性別年齡980010101張濤明心女19……………………421.4.1關系模型1.關系數(shù)據(jù)結構學號姓名性別年齡981.4.1關系模型(1)關系:一個關系對應于一張二維表。(2)關系名:如“學生信息”。(3)元組:表中的一行,對應于存儲文件中的一個記錄。(4)屬性:表中的一列。(5)屬性名:給每個屬性起一個名字。對應于存儲文件中的字段。431.4.1關系模型(1)關系:一個關系對應于一張二維1.4.1關系模型(6)候選碼:如果在一個關系中,存在多個屬性(或?qū)傩越M合)都能用來唯一標識該關系的元組,這些屬性(或?qū)傩越M合)都稱為該關系的候選碼(或候選關鍵字)。例如,假設“學生信息”關系中的姓名沒有重名現(xiàn)象,則學號和姓名都是候選碼。(7)主碼:在若干個候選碼中指定作為碼的屬性(或?qū)傩越M合)稱為該關系的主碼(或主關鍵字)。例如,學號可以作為“學生信息”關系的主碼。441.4.1關系模型(6)候選碼:如果在一個關系中,存在1.4.1關系模型(8)全碼:如果一個關系模型的所有屬性一起構成該關系的碼,則稱為全碼。(9)主屬性:包含在候選碼中的屬性。如學號。(10)非主屬性:不包含在任何候選碼中的屬性稱為非碼屬性或非主屬性。如性別和年齡。](11)域:屬性的取值范圍。如,性別域:(男、女),年齡域:大于0的整數(shù)。(12)分量:元組中的一個屬性值。如“李明”。451.4.1關系模型(8)全碼:如果一個關系模型的所有1.4.1關系模型(13)關系模式:對關系的描述。一般表示為:關系名(屬性1,屬性2,…,屬性n)例如,“學生信息”表表示為:學生信息(學號,姓名,性別,年齡)461.4.1關系模型(13)關系模式:對關系的描述。一般1.4.1關系模型在關系模型中,實體和實體之間的聯(lián)系都是用關系來表示的,例如,學生、課程和選修關系可以表示為:學生信息(學號,姓名,性別,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)m學生選修課程n471.4.1關系模型在關系模型中,實體和實體之間1.4.1關系模型2.關系操作關系操作主要包括:查詢插入修改刪除數(shù)據(jù)特點:集合操作操作對象和操作結果都是關系,即元組的集合。481.4.1關系模型2.關系操作481.4.1關系模型3.關系的完整性約束主要包括三類:實體完整性參照完整性用戶定義的完整性。其中,實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,用戶定義的完整性是指針對具體應用需要自行定義的約束條件。491.4.1關系模型3.關系的完整性約束491.4.1關系模型(1)實體完整性現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標識。相應地,關系模型中以主碼作為唯一性標識。主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與現(xiàn)實世界的應用環(huán)境相矛盾,因此這個實體一定不是一個完整的實體。這就是實體的完整性規(guī)則。實體完整性定義:若屬性A是基本關系R的主屬性,則屬性A不能取空值。501.4.1關系模型(1)實體完整性501.4.1關系模型(2)參照完整性在關系模型中,實體及實體間的聯(lián)系都是用關系來描述的,這樣就需要在關系與關系之間通過某些屬性建立起它們之間的聯(lián)系。例如,對于以下三個關系模式:學生信息(學號,姓名,性別,年齡)主碼:學號課程(課程號,課程名,學分)主碼:課程號選修(學號,課程號,成績)主碼(學號,課程號)選修關系的學號必須在學生信息關系中存在的學號,而選修關系的課程號也必須是一個在課程關系中存在的課程號。511.4.1關系模型(2)參照完整性例如,對于以下三個關1.4.1關系模型

參照完整性定義:設F是基本關系R的一個或一組屬性,但不是關系R的碼,如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼,并稱基本關系R為參照關系,基本關系S為被參照關系。關系R和S不一定是不同的關系。521.4.1關系模型參照完整性定義:設F是基本關系1.4.1關系模型例如,設有以下兩個關系模式:職工(職工編號,姓名,性別,部門編號)部門(部門編號,名稱,地址,簡介)在“職工”關系中,主碼為職工編號,在“部門”關系中,主碼為部門編號,所以“職工”關系中的部門編號是該關系的外碼?!奥毠ぁ标P系為參照關系;“部門”關系為被參照關系。531.4.1關系模型例如,設有以下兩個關系模式:51.4.1關系模型參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應,則對于R中每個元組在F上的值必須為:空值(F的每個屬性值均為空值);等于S中某個元組的主碼值。參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。541.4.1關系模型參照完整性規(guī)則:若屬性(或?qū)?.4.1關系模型(3)用戶定義的完整性針對某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求,對關系數(shù)據(jù)庫中的數(shù)據(jù)定義的約束條件。例如:對于關系模式:學生信息(學號,姓名,性別,年齡)可以定義:性別字段的值只能為“男”和“女”年齡字段的值只能為大于0的整數(shù)551.4.1關系模型(3)用戶定義的完整性551.4.1關系模型4.對關系的限制(1)表中的每一個數(shù)據(jù)項必須是單值的,每一個屬性必須是不可再分的基本數(shù)據(jù)項。例如,下表就是一個不滿足該要求的表。職工編號姓名工資基本工資職務工資工齡工資001趙軍2000500500002劉娜1800400300003李東2300700800…………………………561.4.1關系模型4.對關系的限制職工編號姓名工資基1.4.1關系模型(2)每一列中的數(shù)據(jù)項具有相同的數(shù)據(jù)類型,來自同一個域。例如,姓名都是字符類型,成績都是整數(shù)類型。(3)每一列的名稱在一個表中是唯一的。(4)列次序可以是任意的。(5)表中的任意兩行(即元組)不能相同。(6)行次序可以是任意的。571.4.1關系模型(2)每一列中的數(shù)據(jù)項具有相同的數(shù)據(jù)1.4.2關系數(shù)據(jù)庫的規(guī)范化理論要把一組數(shù)據(jù)存儲到數(shù)據(jù)庫中,如何為這些數(shù)據(jù)設計一個合適的邏輯結構呢?如在關系數(shù)據(jù)庫系統(tǒng)中,針對一個具體問題,應該構造幾個關系?每個關系由哪些屬性組成?使數(shù)據(jù)庫系統(tǒng)無論是在數(shù)據(jù)存儲方面,還是在數(shù)據(jù)操縱方面都有較好的性能。這就是關系數(shù)據(jù)庫規(guī)范化理論要研究的主要問題。E-R模型的方法討論了實體與實體之間的數(shù)據(jù)聯(lián)系,而關系規(guī)范化理論主要討論實體內(nèi)部屬性與屬性之間的數(shù)據(jù)的聯(lián)系,其目標是要設計一個“好”的關系數(shù)據(jù)庫模型。581.4.2關系數(shù)據(jù)庫的規(guī)范化理論要把一組數(shù)據(jù)存儲到數(shù)據(jù)1.4.2關系數(shù)據(jù)庫的規(guī)范化理論1.問題的提出關系:學生(學號,姓名,性別,課程號,課程名稱,成績)學號姓名性別課程號課程名稱成績0601001張軍男001數(shù)據(jù)庫應用780601002李輝男002程序設計890601003趙心女003管理信息系統(tǒng)850601004林梅女004數(shù)據(jù)結構790601004林梅女001數(shù)據(jù)庫應用900601004林梅女002程序設計78591.4.2關系數(shù)據(jù)庫的規(guī)范化理論1.問題的提出學號姓名1.4.2關系數(shù)據(jù)庫的規(guī)范化理論“學生”關系存在以下問題:(1)數(shù)據(jù)冗余所謂數(shù)據(jù)冗余就是數(shù)據(jù)的重復出現(xiàn)。當一個學生選修多門課程時,學生信息重復出現(xiàn),導致了數(shù)據(jù)冗余的現(xiàn)象。例如,以上關于“林梅”的信息就出現(xiàn)了三次;同樣,一門課程有多個學生選修,也導致了該課程信息的冗余。例如,“數(shù)據(jù)庫應用”課程被“林梅”和“張軍”選修了,因此,其課程名稱出現(xiàn)了兩次。顯然,數(shù)據(jù)冗余會導致數(shù)據(jù)庫存儲性能的下降,同時還會帶來數(shù)據(jù)的不一致性問題。601.4.2關系數(shù)據(jù)庫的規(guī)范化理論“學生”關系存在以下問題1.4.2關系數(shù)據(jù)庫的規(guī)范化理論(2)不一致性由于存在著數(shù)據(jù)冗余,因此,如果某個數(shù)據(jù)需要修改,則可能會因為其多處存在而導致在修改時不能全部修改過來,產(chǎn)生數(shù)據(jù)的不一致。例如,假設有40名學生選修了“數(shù)據(jù)庫應用”這門課,則在關系表中就會有40條記錄包含有課程名稱“數(shù)據(jù)庫應用”,如果該課程名稱需要改成“數(shù)據(jù)庫原理及應用”,則可能會只修改了其中的一些記錄而其他記錄沒有修改。這就是數(shù)據(jù)的不一致,也叫更新異常。611.4.2關系數(shù)據(jù)庫的規(guī)范化理論(2)不一致性611.4.2關系數(shù)據(jù)庫的規(guī)范化理論(3)插入異常

如果新生剛剛?cè)胄?,還沒有選修課程,則學生信息就無法插入到表中,因為課程號為空,而主碼為(學號,課程號),根據(jù)關系模型的實體完整性規(guī)則,主碼不能為空或部分為空,因此無法插入新生數(shù)據(jù),這就是插入異常。又如,學校計劃下學期開一門新課“計算機組成原理”,該課程信息也不能馬上添加到表中,因為還沒有學生選修該課程,無法知道學生的信息。簡單來說,插入異常就是該插入的數(shù)據(jù)不能正常插入。621.4.2關系數(shù)據(jù)庫的規(guī)范化理論(3)插入異常621.4.2關系數(shù)據(jù)庫的規(guī)范化理論(4)刪除異常

當學生畢業(yè)時,需要刪除相關的學生記錄,于是就會刪除對應的課程號、課程名信息。這就是刪除異常。例如,在“學生”關系表中要刪除學生記錄(060103,趙心,女,003,管理信息系統(tǒng),85),則會丟失課程號為“003”,課程名為“管理信息系統(tǒng)”的課程信息。簡單來說,刪除異常就是不該刪除的數(shù)據(jù)被異常地刪除了。631.4.2關系數(shù)據(jù)庫的規(guī)范化理論(4)刪除異常631.4.2關系數(shù)據(jù)庫的規(guī)范化理論

為了克服以上問題,可以將“學生”關系分解為:學生基本信息(學號,姓名,性別)課程(課程號,課程名稱)選修(學號,課程號,成績)分解后的關系在一定程度上解決了數(shù)據(jù)冗余解決了插入異常問題解決了刪除異常的問題641.4.2關系數(shù)據(jù)庫的規(guī)范化理論為了克服以上問題1.4.2關系數(shù)據(jù)庫的規(guī)范化理論為什么對“學生”關系進行以上分解之后,可以消除異常呢?這是因為“學生”關系中的某些屬性之間存在數(shù)據(jù)依賴,這種數(shù)據(jù)依賴會造成數(shù)據(jù)冗余、插入異常、刪除異常等問題。

數(shù)據(jù)依賴是對屬性間數(shù)據(jù)的相互關系的描述。651.4.2關系數(shù)據(jù)庫的規(guī)范化理論為什么對“學生”1.4.2關系數(shù)據(jù)庫的規(guī)范化理論2.函數(shù)依賴函數(shù)依賴是數(shù)據(jù)依賴的一種描述形式。定義1:設R(U)是屬性集U上的關系模式。X,Y是U的子集。如果對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱“X函數(shù)確定Y”或“Y函數(shù)依賴于X”,記作X→Y。簡單地說,如果屬性X的值決定屬性Y的值(如果知道X的值就可以獲得Y的值),則屬性Y函數(shù)依賴于屬性X。若X→Y,并且Y→X,則記為X←→Y。若Y不函數(shù)依賴于X,則記為X→Y661.4.2關系數(shù)據(jù)庫的規(guī)范化理論2.函數(shù)依賴661.4.2關系數(shù)據(jù)庫的規(guī)范化理論例如:1)設有關系模式:商品(商品名稱,價格)如果知道商品名稱,就可以知道該商品的價格,也就是,不存在商品名稱相同,而價格不同的記錄,則可以說:商品名稱→價格。2)設有關系模式:學生(學號,姓名,年齡,性別,專業(yè))學生關系中有唯一的標識號“學號”,每個學生有且只有一個專業(yè),則學號決定專業(yè)的值,因此:學號→專業(yè)。3)對于選修關系:選修(學號,課程號,成績)可以看出:(學號,課程號)→成績。671.4.2關系數(shù)據(jù)庫的規(guī)范化理論例如:671.4.2關系數(shù)據(jù)庫的規(guī)范化理論需要注意的是,函數(shù)依賴是語義范疇的概念。只能根據(jù)數(shù)據(jù)的語義來確定函數(shù)依賴。例如“姓名→年齡”這個函數(shù)依賴只有在不允許有同名人的條件下才成立。681.4.2關系數(shù)據(jù)庫的規(guī)范化理論需要注意的是,1.4.2關系數(shù)據(jù)庫的規(guī)范化理論

定義2:在關系模式R(U)中,對于U的子集X和Y,如果X→Y,但Y?X,則稱X→Y是非平凡的函數(shù)依賴。若X→Y,但Y

X,則稱X→Y是平凡的函數(shù)依賴。例如,對于關系:選修(學號,課程號,成績)存在非平凡函數(shù)依賴:(學號,課程號)→成績存在平凡函數(shù)依賴:(學號,課程號)→學號;(學號,課程號)→課程號若不特別聲明,一般總是討論非平凡的函數(shù)依賴691.4.2關系數(shù)據(jù)庫的規(guī)范化理論定義2:在1.4.2關系數(shù)據(jù)庫的規(guī)范化理論

定義3:在關系模式R(U)中,如果X→Y,并且對于X的任何一個真子集X’,都有X’→Y,則稱Y完全函數(shù)依賴于X,記作X→Y。若X→Y,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴于X,記作X→Y。例如,對于關系:選修(學號,課程號,成績)由于:學號→成績,課程號→成績而:(學號,課程號)→成績因此:(學號,課程號)→成績fpf701.4.2關系數(shù)據(jù)庫的規(guī)范化理論定義3:在關系1.4.2關系數(shù)據(jù)庫的規(guī)范化理論

又如,對于關系:學生(學號,姓名,性別,課程號,課程名稱,成績)由于有:(學號,課程號)→姓名,同時有:學號→姓名,因此存在部分函數(shù)依賴:(學號,課程號)→姓名fp711.4.2關系數(shù)據(jù)庫的規(guī)范化理論又如,對于關系:1.4.2關系數(shù)據(jù)庫的規(guī)范化理論

定義4:在關系模式R(U)中,如果X→Y,Y→Z,且Y?X,Y→X,則稱Z傳遞函數(shù)依賴于X。注:如果Y→X,即X←→Y,則Z直接函數(shù)依賴于X例如,設有關系模式:學生信息(學號,姓名,所在系,系主任)經(jīng)分析有:學號→所在系,所在系→系主任,因此:“系主任”傳遞函數(shù)依賴于“學號”。p721.4.2關系數(shù)據(jù)庫的規(guī)范化理論定義4:在關系模1.4.2關系數(shù)據(jù)庫的規(guī)范化理論3.范式和規(guī)范化

規(guī)范化理論用于改造關系模式,通過分解關系模式來消除其中不合適的數(shù)據(jù)依賴,以解決數(shù)據(jù)冗余、插入異常、刪除異常等問題。所謂規(guī)范化,就是用形式更為簡潔、結構更加規(guī)范的關系模式取代原有關系的過程。731.4.2關系數(shù)據(jù)庫的規(guī)范化理論3.范式和規(guī)范化731.4.2關系數(shù)據(jù)庫的規(guī)范化理論

要設計一個好的關系,必須使關系滿足一定的約束條件,這種約束條件已經(jīng)形成規(guī)范,分成幾個等級,一級比一級要求更嚴格。滿足最低一級要求的關系稱為屬于第一范式(1NF),在此基礎上如果進一步滿足某種約束條件,達到第二范式標準,則稱該關系屬于第二范式(2NF),等等,直到第五范式。一個較低的范式,可以通過關系的無損分解轉(zhuǎn)換為若干個較高級范式的關系,這一過程叫做關系的規(guī)范化。741.4.2關系數(shù)據(jù)庫的規(guī)范化理論要設計一個好的關1.4.2關系數(shù)據(jù)庫的規(guī)范化理論(1)第一范式(1NF)定義:如果一個關系模式R的所有屬性都是不可分的基本數(shù)據(jù)項,則R屬于1NF。第一范式是對關系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式不能稱為關系數(shù)據(jù)庫。751.4.2關系數(shù)據(jù)庫的規(guī)范化理論(1)第一范式(1NF1.4.2關系數(shù)據(jù)庫的規(guī)范化理論例如,以下“學生”關系滿足第一范式。學號姓名性別課程號課程名稱成績0601001張軍男001數(shù)據(jù)庫應用780601002李輝男002程序設計890601003趙心女003管理信息系統(tǒng)850601004林梅女004數(shù)據(jù)結構790601004林梅女001數(shù)據(jù)庫應用900601004林梅女002程序設計78761.4.2關系數(shù)據(jù)庫的規(guī)范化理論例如,以下“學生”關系滿1.4.2關系數(shù)據(jù)庫的規(guī)范化理論以下“工資”表具有組合數(shù)據(jù)項,不屬于第一范式。職工編號姓名工資基本工資職務工資工齡工資001趙軍2000500500002劉娜1800400300003李東2300700800…………………………771.4.2關系數(shù)據(jù)庫的規(guī)范化理論以下“工資”表具有組合數(shù)1.4.2關系數(shù)據(jù)庫的規(guī)范化理論將“工資”表規(guī)范化為第一范式:職工編號姓名基本工資職務工資工齡工資001趙軍2000500500002劉娜1800400300003李東2300700800…………………………滿足第一范式的關系模式不一定就是一個好的關系模式。例如,對于前面的“學生”關系,已經(jīng)分析過,它存在數(shù)據(jù)冗余、插入異常、刪除異常等問題。781.4.2關系數(shù)據(jù)庫的規(guī)范化理論將“工資”表規(guī)范化為第一1.4.2關系數(shù)據(jù)庫的規(guī)范化理論(2)第二范式(2NF)

定義:若關系模式R是1NF,并且每一個非主屬性都完全函數(shù)依賴于R的碼,則R屬于2NF。例如,對于學生關系:學生(學號,姓名,性別,課程號,課程名稱,成績)碼:(學號,課程號)因此:學號、課程號是主屬性,性別、課程名稱、成績是非主屬性。存在部分函數(shù)依賴:學號→姓名學號→性別課程號→課程名稱存在非主屬性對碼的部分函數(shù)依賴,因此不是2NF791.4.2關系數(shù)據(jù)庫的規(guī)范化理論(2)第二范式(2NF1.4.2關系數(shù)據(jù)庫的規(guī)范化理論改進方法:對該關系進行分解,生成若干關系,以消除部分函數(shù)依賴。分解為以下三個關系:學生基本信息(學號,姓名,性別)課程(課程號,課程名稱)選修(學號,課程號,成績)可以看出,在這三個關系中不存在部分函數(shù)依賴,因此問題得到了解決。實際上,這里就是把描述不同主題的內(nèi)容分別用不同的關系來表示。801.4.2關系數(shù)據(jù)庫的規(guī)范化理論改進方法:801.4.2關系數(shù)據(jù)庫的規(guī)范化理論(3)第三范式(3NF)

定義:如果關系模式R是第二范式,且每個非主屬性都非傳遞函數(shù)依賴于主碼,則R屬于3NF。也可以說,如果關系R的每一個非主屬性既不部分函數(shù)依賴于主碼,也不傳遞函數(shù)依賴于主碼,則R屬于3NF。811.4.2關系數(shù)據(jù)庫的規(guī)范化理論(3)第三范式(3NF1.4.2關系數(shù)據(jù)庫的規(guī)范化理論例如,關系Housing是學生住宿收費表,SID為學生編號,Sname為學生姓名,Building為樓的編號,F(xiàn)ee為每季度需支付的費用。假設一個學生只住在一個大樓里,一個大樓只有一種收費標準。SIDSnameBuildingFee10TomA110011JerryA110012KateB120013TonyB120014JohnC130015MaryD1400821.4.2關系數(shù)據(jù)庫的規(guī)范化理論例如,關系Housing1.4.2關系數(shù)據(jù)庫的規(guī)范化理論主碼:SID存在函數(shù)依賴:SID→BuildingBuilding→Fee即存在非主屬性Fee對碼SID的傳遞函數(shù)依賴,因此關系Housing不是第三范式。831.4.2關系數(shù)據(jù)庫的規(guī)范化理論主碼:SID81.4.2關系數(shù)據(jù)庫的規(guī)范化理論

該關系存在插入異常、刪除異常等問題。例如,如果SID為15的學生退學了,則不僅刪除了該學生的信息,同時刪除了D樓的收費信息,出現(xiàn)了刪除異常。如果新建了一個大樓,還沒有學生入住,則該新樓的信息也無法插入到表中,也就是出現(xiàn)了插入異常。同樣,如果有400名學生住在同一個樓里,則該樓的信息就要重復400次,因此也存在數(shù)據(jù)冗余問題。841.4.2關系數(shù)據(jù)庫的規(guī)范化理論該關系存在插入異1.4.2關系數(shù)據(jù)庫的規(guī)范化理論改進方法:將關系Housing分解為兩個關系。SIDSnameBuilding10TomA11JerryA12KateB13TonyB14JohnC15MaryD“Stu-Housing”關系:851.4.2關系數(shù)據(jù)庫的規(guī)范化理論改進方法:將關系1.4.2關系數(shù)據(jù)庫的規(guī)范化理論“Housing-Fee”關系:BuildingFeeA1100B1200C1300D1400分解后的關系解決了插入異常、刪除異常、數(shù)據(jù)冗余的問題861.4.2關系數(shù)據(jù)庫的規(guī)范化理論“Housing-Fee1.4.2關系數(shù)據(jù)庫的規(guī)范化理論規(guī)范化的本質(zhì)是把表示不同主題的信息分解到不同的關系中,如果某個關系包含有兩個或兩個以上的主題,就應該將它分解為多個關系,使每個關系只包含一個主題。在分解關系之后,需要注意建立起關系之間的關聯(lián)約束(參照完整性約束)。關系變得更加復雜,對關系的使用也會變得復雜,因此并不是分解得越細越好。一般來說,用戶的目標是第三范式(3NF)數(shù)據(jù)庫,因為在大多數(shù)情況下,這是進行規(guī)范化功能與易用程度的最好平衡點。在理論上和一些實際使用的數(shù)據(jù)庫中,有比3NF更高的等級。871.4.2關系數(shù)據(jù)庫的規(guī)范化理論規(guī)范化的本質(zhì)是把表示不同1.5數(shù)據(jù)庫系統(tǒng)的體系結構數(shù)據(jù)庫系統(tǒng)的體系結構是數(shù)據(jù)庫系統(tǒng)的一個總的框架。盡管實際的數(shù)據(jù)庫系統(tǒng)軟件產(chǎn)品多種多樣,它們支持的數(shù)據(jù)模型也不一定不同,使用不同的數(shù)據(jù)庫語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結構也各不相同,但是絕大多數(shù)數(shù)據(jù)庫系統(tǒng)在總的體系結構上都具有三級模式的結構特征。881.5數(shù)據(jù)庫系統(tǒng)的體系結構數(shù)據(jù)庫系統(tǒng)的體系結構是數(shù)據(jù)庫1.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構三級模式結構:外模式、模式和內(nèi)模式外模式/模式映像應用A應用B應用C應用D應用E外模式1外模式2外模式3模式內(nèi)模式數(shù)據(jù)庫模式/內(nèi)模式映像891.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構三級模式結構:外模式1.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構三級模式是對數(shù)據(jù)的三個抽象級別,它把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的表示和存儲。為了實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這三級模式中提供了兩層映像:外模式/模式映像;模式/內(nèi)模式映像。901.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構三級模式是對數(shù)據(jù)的1.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構1.模式(邏輯模式)是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特性的描述,是所有用戶的公共數(shù)據(jù)視圖。以某一種數(shù)據(jù)模型為基礎。不僅要定義數(shù)據(jù)的邏輯結構,而且要定義與數(shù)據(jù)有關的安全性、完整性要求;不僅要定義記錄內(nèi)部的結構,而且要定義數(shù)據(jù)以及不同記錄之間的聯(lián)系。模式既不涉及數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境,也與具體的應用程序和開發(fā)工具無關。DBMS提供模式數(shù)據(jù)描述語言描述模式。911.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構1.模式(邏輯模式)1.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構2.外模式(子模式或用戶模式)是數(shù)據(jù)庫用戶看到的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。通常是模式的子集,由于不同的用戶其需求不同,看待數(shù)據(jù)的方式不同,對數(shù)據(jù)的要求不同,使用的程序設計語言也可以不同,因此不同用戶的外模式描述是不同的。即使對模式中同一數(shù)據(jù),在外模式中的結構、類型、長度、保密級別等都可以不同。DBMS提供外模式數(shù)據(jù)描述語言來描述外模式。921.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構2.外模式(子模式或1.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構3.內(nèi)模式是全體數(shù)據(jù)庫數(shù)據(jù)的內(nèi)部表示或者低層描述,用來定義數(shù)據(jù)的存儲方式和物理結構。通常用內(nèi)模式數(shù)據(jù)描述語言來描述和定義。931.5.1數(shù)據(jù)庫系統(tǒng)的三級模式結構3.內(nèi)模式931.5.2數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性1.外模式/模式映像定義某一個外模式和模式之間的對應關系。當模式改變時,外模式/模式的映像要作相應的改變(由DBA負責)以保證外模式保持不變。對應于同一個模式,可以有任意多個外模式。2.模式/內(nèi)模式映像定義數(shù)據(jù)的邏輯結構和存儲結構之間的對應關系,說明邏輯記錄和字段在內(nèi)部是如何表示的。這樣,當數(shù)據(jù)庫的存儲結構改變時,可相應修改模式/內(nèi)模式的映像,從而使模式保持不變。941.5.2數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性1.外模式/模1.5.2數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性模式(全局邏輯結構)應該首先定義,因為它獨立于數(shù)據(jù)庫的其他所有結構描述。內(nèi)模式(存儲模式)依賴于全局邏輯結構,獨立于任何一個外模式(用戶的局部邏輯結構)。外模式獨立于存儲模式和存儲設備,它必須在數(shù)據(jù)庫的全局邏輯結構描述(模式)的基礎上定義。二級映像功能使數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)具有較高的邏輯獨立性和物理獨立性。說明:951.5.2數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性模式(全局邏輯結1.5.2數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性一個子模式一旦被定義,則除非模式結構的變化使得子模式中的某些數(shù)據(jù)無法再從數(shù)據(jù)庫中導出,否則不必改變子模式。通過調(diào)整外模式/模式映像可實現(xiàn)這一點。這就是子模式對于模式的相對獨立性,即邏輯數(shù)據(jù)獨立性。應用程序是在子模式的數(shù)據(jù)結構上編制的,因此,它必然依賴于特定的子模式。但是,在一個完善的數(shù)據(jù)庫系統(tǒng)中,它是獨立于存儲設備和存儲模式的,并且只要數(shù)據(jù)庫全局邏輯模式的變化不導致其對應的子模式的改變,則應用程序也是獨立于數(shù)據(jù)庫模式的。961.5.2數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性一個子模式一旦被1.6數(shù)據(jù)庫系統(tǒng)設計簡介數(shù)據(jù)庫系統(tǒng)的設計包括:數(shù)據(jù)庫的設計數(shù)據(jù)庫應用系統(tǒng)設計數(shù)據(jù)庫設計是指設計數(shù)據(jù)庫的結構特性,即為特定的應用環(huán)境構造最優(yōu)的數(shù)據(jù)模型;數(shù)據(jù)庫應用系統(tǒng)設計是指設計出滿足各種用戶對數(shù)據(jù)庫應用需求的應用程序。用戶通過應用程序來訪問和操作數(shù)據(jù)庫。971.6數(shù)據(jù)庫系統(tǒng)設計簡介數(shù)據(jù)庫系統(tǒng)的設計包括:971.6數(shù)據(jù)庫系統(tǒng)設計簡介

將數(shù)據(jù)庫設計分為6個階段:需求分析階段概念結構設計階段邏輯結構設計階段物理結構設計階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫運行和維護階段以上步驟既是數(shù)據(jù)庫設計的過程,也包括數(shù)據(jù)庫應用系統(tǒng)的設計過程。在設計過程只有將這兩方面有機地結合起來,互相參照、互為補充,才可以設計出性能良好的數(shù)據(jù)庫應用系統(tǒng)。981.6數(shù)據(jù)庫系統(tǒng)設計簡介將數(shù)據(jù)庫設計分為6個階段:1.6數(shù)據(jù)庫系統(tǒng)設計簡介1.需求分析階段任務:準確了解并分析用戶對系統(tǒng)的要求,確定所要開發(fā)的應用系統(tǒng)的目標,重點調(diào)查用戶的信息要求、處理要求、安全性與完整性要求結果:產(chǎn)生用戶和設計者都能接受的需求說明書,做為下一步數(shù)據(jù)庫概念結構設計的基礎。需求分析主要是考慮“做什么”,而不是考慮“怎么做”。需求分析做得是否充分、準確,將決定以后各設計步驟能否順利進行。如果需求分析做得不好,會影響整個系統(tǒng)的性能,甚至會導致整個數(shù)據(jù)庫設計的返工991.6數(shù)據(jù)庫系統(tǒng)設計簡介1.需求分析階段需求分1.6數(shù)據(jù)庫系統(tǒng)設計簡介

2.概念結構設計階段

將需求分析得到的用戶需求抽象為信息結構即概念模型的過程就是概念結構設計。概念結構是獨立于支持數(shù)據(jù)庫的DBMS和使用的硬件環(huán)境的。人們提出了多種概念結構設計的表達工具,其中最常用、最有名的是E-R模型。1001.6數(shù)據(jù)庫系統(tǒng)設計簡介2.概念結構設計階段1001.6數(shù)據(jù)庫系統(tǒng)設計簡介

在概念結構設計階段,首先要對需求分析階段收集到的數(shù)據(jù)進行分類、組織,形成實體、實體的屬性,標識實體的碼,確定實體之間的聯(lián)系類型(1:1,1:n,m:n),針對各個局部應用設計局部視圖(如分E-R圖)。合并局部視圖,通過消除各局部視圖的屬性沖突、命名沖突、結構沖突、數(shù)據(jù)冗余等,最終集成為一個全局視圖(如整體的E-R圖)。概念模型是數(shù)據(jù)庫邏輯設計的依據(jù),是整個數(shù)據(jù)庫設計的關鍵。1011.6數(shù)據(jù)庫系統(tǒng)設計簡介在概念結構設計階段,首先1.6數(shù)據(jù)庫系統(tǒng)設計簡介3.邏輯結構設計階段任務是將概念結構進一步轉(zhuǎn)化為某一DBMS支持的數(shù)據(jù)模型。包括數(shù)據(jù)庫模式和外模式。首先需要將概念結構轉(zhuǎn)化為一般的關系、網(wǎng)狀、層次模型;然后將轉(zhuǎn)化后的關系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換,轉(zhuǎn)換的主要依據(jù)是所選用的DBMS的功能及限制,沒有通用規(guī)則。對于關系模型來說,這種轉(zhuǎn)換通常都比較簡單;最后對數(shù)據(jù)模型進行優(yōu)化。1021.6數(shù)據(jù)庫系統(tǒng)設計簡介3.邏輯結構設計階段1021.6數(shù)據(jù)庫系統(tǒng)設計簡介

邏輯結構設計階段可能還需要設計用戶子模式(外模式),即用戶可直接訪問的數(shù)據(jù)模式。同一系統(tǒng)中,不同用戶可以有不同的外模式。定義用戶外模式時應該更注重考慮用戶的習慣與方便,主要包括以下三個方面:(1)使用更符合用戶習慣的別名。(2)針對不同級別的用戶定義不同的外模式,以滿足系統(tǒng)對安全性的要求。(3)如果某些局部應用中經(jīng)常要使用某些很復雜的查詢,為了方便用戶,可以將這些復雜查詢定義為外模式(視圖),以簡化用戶對系統(tǒng)的使用。1031.6數(shù)據(jù)庫系統(tǒng)設計簡介邏輯結構設計階段可能1.6數(shù)據(jù)庫系統(tǒng)設計簡介

4.物理結構設計階段

用于為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構,包括數(shù)據(jù)庫在物理設備上的存儲結構和存取方法。由于不同的數(shù)據(jù)庫產(chǎn)品所提供的物理環(huán)境、存取方法和存儲結構各不相同,供設計人員使用的設計變量、參數(shù)范圍也各不相同,所以物理結構設計沒有通用的設計方法可以遵循。主要考慮問題:物理數(shù)據(jù)庫結構應能滿足事務在數(shù)據(jù)庫上運行時響應時間少、存儲空間利用率高和事務吞吐率大的要求。1041.6數(shù)據(jù)庫系統(tǒng)設計簡介4.物理結構設計階段1041.6數(shù)據(jù)庫系統(tǒng)設計簡介

5.數(shù)據(jù)庫實施階段

完成數(shù)據(jù)庫物理設計之后,設計人員就要用DBMS提供的數(shù)據(jù)定義語言和其他實用程序?qū)?shù)據(jù)庫邏輯設計和物理設計結果嚴格地描述出來,成為DBMS可以接受的源代碼,再經(jīng)過調(diào)試產(chǎn)生目標模式,然后就可以組織數(shù)據(jù)入庫了,這就是數(shù)據(jù)庫實施階段。1051.6數(shù)據(jù)庫系統(tǒng)設計簡介5.數(shù)據(jù)庫實施階段1051.6數(shù)據(jù)庫系統(tǒng)設計簡介(1)用DBMS提供的數(shù)據(jù)定義語言(DDL)描述數(shù)據(jù)庫結構。(2)組織數(shù)據(jù)入庫。(3)編制與調(diào)試應用程序。數(shù)據(jù)庫應用程序的設計應該與數(shù)據(jù)庫設計并行進行。因此,在部分數(shù)據(jù)錄入到數(shù)據(jù)庫中之后,就可以開始對應用程序進行調(diào)試了。這時由于數(shù)據(jù)入庫尚未完成,可以先使用模擬數(shù)據(jù),模擬數(shù)據(jù)應該具有一定的代表性,足夠測試系統(tǒng)的多數(shù)功能。應用程序的設計、編碼和調(diào)試方法、步驟應遵循軟件工程的規(guī)范。(4)數(shù)據(jù)庫試運行:功能測試;性能測試1061.6數(shù)據(jù)庫系統(tǒng)設計簡介(1)用DBMS提供的數(shù)據(jù)定義1.6數(shù)據(jù)庫系統(tǒng)設計簡介6.數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫試運行結果符合設計目標后,數(shù)據(jù)庫就可以投入正式運行了。數(shù)據(jù)庫投入運行標志著開發(fā)任務的基本完成和維護工作的開始。由于應用環(huán)境在不斷變化,數(shù)據(jù)庫運行過程中物理存儲會不斷變化,因此,對數(shù)據(jù)庫設計進行評價、調(diào)整、修改等維護工作是一個長期的任務,也是設計工作的繼續(xù)和提高。1071.6數(shù)據(jù)庫系統(tǒng)設計簡介6.數(shù)據(jù)庫運行和維護階段1071.6數(shù)據(jù)庫系統(tǒng)設計簡介在數(shù)據(jù)庫運行階段,對數(shù)據(jù)庫經(jīng)常性的維護工作主要是由DBA完成的。工作主要包括:(1)數(shù)據(jù)庫的轉(zhuǎn)儲和恢復。(2)數(shù)據(jù)庫的安全性、完整性控制:DBA需要應用環(huán)境的變化修改原有的安全性控制和完整性約束。(3)數(shù)據(jù)庫性能的監(jiān)督、分析和改進。(4)數(shù)據(jù)庫的重組織和重構造。數(shù)據(jù)庫運行一段時間后,由于記錄的不斷增、刪、改,會使數(shù)據(jù)庫的物理存儲變壞,從而降低數(shù)據(jù)庫存儲空間的利用率和數(shù)據(jù)的存取效率,使數(shù)據(jù)庫的性能下降,因此需要對數(shù)據(jù)庫進行重新組織。1081.6數(shù)據(jù)庫系統(tǒng)設計簡介在數(shù)據(jù)庫運行階段,對演講完畢,謝謝觀看!演講完畢,謝謝觀看!109第1章數(shù)據(jù)庫基礎數(shù)據(jù)庫系統(tǒng)概述1.1數(shù)據(jù)管理技術的發(fā)展1.2數(shù)據(jù)模型1.3關系數(shù)據(jù)庫1.4數(shù)據(jù)庫系統(tǒng)的體系結構1.5數(shù)據(jù)庫系統(tǒng)設計簡介1.6110第1章數(shù)據(jù)庫基礎數(shù)據(jù)庫系統(tǒng)概述1.1數(shù)據(jù)管理技術的發(fā)展1隨著科學技術和社會經(jīng)濟的飛速發(fā)展,人們掌握的信息量急劇增加,要充分地開發(fā)和利用這些信息資源,就必須有一種新技術能對大量的信息進行識別、存儲、處理與傳播。隨著計算機軟硬件技術的發(fā)展,20世紀60年代末,數(shù)據(jù)庫技術應運而生,并從70年代起得到了迅速的發(fā)展和廣泛的應用。數(shù)據(jù)庫技術主要研究如何科學地組織和存儲數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)庫技術作為數(shù)據(jù)管理的最新技術,目前已廣泛應用于各個領域。對于一個國家來說,數(shù)據(jù)庫的建設規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已經(jīng)成為衡量這個國家信息化程度的重要標志。111隨著科學技術和社會經(jīng)濟的飛速發(fā)展,人們掌握的信息量1.1數(shù)據(jù)庫系統(tǒng)概述1.信息:信息是人腦對現(xiàn)實世界中的客觀事物以及事物之間聯(lián)系的抽象反映,它向我們提供了關于現(xiàn)實世界實際存在的事物及其聯(lián)系的有用知識。2.數(shù)據(jù):數(shù)據(jù)是人們用各種物理符號,把信息按一定格式記載下來的有意義的符號組合。數(shù)據(jù)不僅僅是數(shù)字,還可以是文字、圖象、聲音等各種表現(xiàn)形式。數(shù)據(jù)經(jīng)數(shù)字化后可以存入計算機中,是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)和它的語義是不可分割的。1121.1數(shù)據(jù)庫系統(tǒng)概述1.信息:信息是人腦對現(xiàn)實世界中的客1.1數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)的形式不能完全表達其內(nèi)容。例如:(李明,78)我們可以賦予它一定的語義,它表示李明的期末考試平均成績?yōu)?8分。如果不了解其語義,則無法對其進行解釋,甚至解釋為李明的年齡為78。99:8179,7954舅舅:不要吃酒,吃酒誤事1×1=1一成不變10002=100×100×100千方百計7/8七上八下7÷2不三不四1131.1數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)的形式不能完全表達其內(nèi)容。例如:41.1數(shù)據(jù)庫系統(tǒng)概述3.數(shù)據(jù)處理:指對各種形式的數(shù)據(jù)進行收集、整理、加工、存儲和傳播的一系列活動的總和。其目的之一是從大量的原始數(shù)據(jù)中提取出對人們有價值的信息,作為行動和決策的依據(jù);目的之二是為了借助計算機科學地保存和管理大量的復雜的數(shù)據(jù),以便人們能方便地充分利用這些信息資源。4.數(shù)據(jù)庫(DB):以一定的方式保存在計算機存儲設備上的相互關聯(lián)的數(shù)據(jù)的集合。1141.1數(shù)據(jù)庫系統(tǒng)概述3.數(shù)據(jù)處理:指對各種形式的數(shù)據(jù)進行1.1數(shù)據(jù)庫系統(tǒng)概述5.數(shù)據(jù)庫管理系統(tǒng)(DBMS)

:用于幫助我們管理輸入到計算機中的大量數(shù)據(jù)。如用于創(chuàng)建數(shù)據(jù)庫,向數(shù)據(jù)庫中存儲數(shù)據(jù),修改數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取信息等。一個DBMS應具備如下功能:(1)數(shù)據(jù)定義功能(2)數(shù)據(jù)操縱功能(3)數(shù)據(jù)查詢功能(4)數(shù)據(jù)控制功能(5)數(shù)據(jù)庫通信功能1151.1數(shù)據(jù)庫系統(tǒng)概述5.數(shù)據(jù)庫管理系統(tǒng)(DBMS):1.1數(shù)據(jù)庫系統(tǒng)概述6.數(shù)據(jù)庫管理員:數(shù)據(jù)庫的建立、使用和維護只靠DBMS是不夠的,還需要有專門的人員來完成,這些人員稱為數(shù)據(jù)庫管理員7.數(shù)據(jù)庫系統(tǒng)(DBS):在計算機系統(tǒng)中引入數(shù)據(jù)庫的系統(tǒng)。除了相關的硬件之外,數(shù)據(jù)庫系統(tǒng)還包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應用系統(tǒng)、數(shù)據(jù)庫管理員和用戶。1161.1數(shù)據(jù)庫系統(tǒng)概述6.數(shù)據(jù)庫管理員:數(shù)據(jù)庫的建立、使用1.2數(shù)據(jù)管理技術的發(fā)展什么是數(shù)據(jù)管理?對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護,是數(shù)據(jù)處理的中心問題。數(shù)據(jù)管理技術的發(fā)展動力應用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展數(shù)據(jù)管理技術的發(fā)展過程人工管理階段(40年代中--50年代中)文件系統(tǒng)階段(50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)1171.2數(shù)據(jù)管理技術的發(fā)展什么是數(shù)據(jù)管理?81.2數(shù)據(jù)管理技術的發(fā)展1.人工管理階段在計算機發(fā)展的初級階段,計算機硬件本身還不具備象磁盤這樣的可直接存取的存儲設備,因此也無法實現(xiàn)對大量數(shù)據(jù)的保存,也沒有用來管理數(shù)據(jù)的相應軟件,計算機主要用于科學計算。這個階段的數(shù)據(jù)管理是以人工管理的方式進行的,人們還沒有形成一套數(shù)據(jù)管理的完整的概念。1181.2數(shù)據(jù)管理技術的發(fā)展1.人工管理階段91.2數(shù)據(jù)管理技術的發(fā)展人工管理階段的主要特點:(1)數(shù)據(jù)不保存。計算機主要用于科學計算,計算時輸入數(shù)據(jù),用完就撤走數(shù)據(jù)。(2)還沒有文件的概念。數(shù)據(jù)由每個程序的程序員自行組織和安排。(3)數(shù)據(jù)不共享:每組數(shù)據(jù)和一個應用程序相對應,因此可能導致大量的數(shù)據(jù)重復。(4)沒有形成完整的數(shù)據(jù)管理的概念,更沒有對數(shù)據(jù)進行管理的軟件系統(tǒng)。每個程序都要包括數(shù)據(jù)存取方法、輸入/輸出方法和數(shù)據(jù)組織方法,程序直接面向存儲結構,因此存儲結構的任何修改都將導致程序的修改。程序和數(shù)據(jù)不具有獨立性。1191.2數(shù)據(jù)管理技術的發(fā)展人工管理階段的主要特點:101.2數(shù)據(jù)管理技術的發(fā)展人工管理階段的特點可以用下圖來描述:應用程序1數(shù)據(jù)集1應用程序2數(shù)據(jù)集2應用程序n數(shù)據(jù)集n…………1201.2數(shù)據(jù)管理技術的發(fā)展人工管理階段的特點可以用下圖來描述1.2數(shù)據(jù)管理技術的發(fā)展2.文件系統(tǒng)階段隨著計算機軟硬件技術的發(fā)展,如直接存儲設備的產(chǎn)生,操作系統(tǒng)、高級語言及數(shù)據(jù)管理軟件的出現(xiàn),計算機不僅用于科學計算,也開始大量用于信息管理。數(shù)據(jù)可以以文件的形式長期獨立地保存在磁盤上,且可以由多個程序反復使用;操作系統(tǒng)及高級語言或數(shù)據(jù)管理軟件提供了對數(shù)據(jù)的存取和管理功能,這就是文件系統(tǒng)階段。1211.2數(shù)據(jù)管理技術的發(fā)展2.文件系統(tǒng)階段121.2數(shù)據(jù)管理技術的發(fā)展文件系統(tǒng)階段的主要特點:(1)數(shù)據(jù)可以長期保存在磁盤上,因此可以重復使用。數(shù)據(jù)不再屬于某個特定的程序,可以由多個程序反復使用。(2)數(shù)據(jù)的物理結構和邏輯結構有了區(qū)別,但較簡單。程序開始通過文件名和數(shù)據(jù)打交道,不必關心數(shù)據(jù)的物理存放位置,對數(shù)據(jù)的讀/寫方法由文件系統(tǒng)提供。(3)程序和數(shù)據(jù)之間有了一定的獨立性。應用程序通過文件系統(tǒng)對數(shù)據(jù)文件中的數(shù)據(jù)進行存取和加工,程序員不必過多地考慮數(shù)據(jù)的物理存儲細節(jié),并且,數(shù)據(jù)在存儲上的改變不一定反映在程序上,節(jié)省了維護工作。(4)出現(xiàn)了多種文件存儲形式及相應的訪問方式;但文件之間是獨立的,它們之間的聯(lián)系要通過程序去構造,文件的共享性也還比較差。數(shù)據(jù)的存取基本上以記錄為單位。1221.2數(shù)據(jù)管理技術的發(fā)展文件系統(tǒng)階段的主要特點:131.2數(shù)據(jù)管理技術的發(fā)展文件系統(tǒng)階段程序和數(shù)據(jù)之間的關系可以用下圖來描述:應用程序1文件1應用程序2文件2應用程序n文件n…………文件系統(tǒng)1231.2數(shù)據(jù)管理技術的發(fā)展文件系統(tǒng)階段程序和數(shù)據(jù)之間1.2數(shù)據(jù)管理技術的發(fā)展雖然文件系統(tǒng)比人工管理有了長足的進步,但是文件系統(tǒng)所能提供的數(shù)據(jù)存取方法和操作數(shù)據(jù)的手段還是非常的有限。數(shù)據(jù)的存儲結構和程序之間的依賴關系并未根本改變;數(shù)據(jù)冗余大;數(shù)據(jù)的重復以及數(shù)據(jù)之間沒有建立起相互聯(lián)系還會造成數(shù)據(jù)的不一致性。隨著信息時代的到來,人們要處理的信息量急劇增加,對數(shù)據(jù)的處理要求也越來越復雜,文件系統(tǒng)的功能已經(jīng)不能適應新的需求,而數(shù)據(jù)庫技術也正是在這種需求的推動下逐步產(chǎn)生的。1241.2數(shù)據(jù)管理技術的發(fā)展雖然文件系統(tǒng)比人工管理有1.2數(shù)據(jù)管理技術的發(fā)展3.數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段使用數(shù)據(jù)庫技術來管理數(shù)據(jù)。它克服了文件系統(tǒng)的不足,并增強了許多新功能。在這一階段,數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一控制,數(shù)據(jù)不再面向某個應用而是面向整個系統(tǒng),因此數(shù)據(jù)可以被多個用戶、多個應用共享。1251.2數(shù)據(jù)管理技術的發(fā)展3.數(shù)據(jù)庫系統(tǒng)階段161.2數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)庫系統(tǒng)階段的特點:(1)能根據(jù)不同的需要按不同的方法組織數(shù)據(jù),以最大限度地提高用戶或應用程序訪問數(shù)據(jù)的效率。(2)數(shù)據(jù)庫不僅能夠保存數(shù)據(jù)本身,還能保存數(shù)據(jù)之間的相互聯(lián)系,保證了對數(shù)據(jù)修改的一致性。(3)相同的數(shù)據(jù)可以共享,降低了數(shù)據(jù)的冗余度。(4)數(shù)據(jù)具有較高的獨立性,數(shù)據(jù)的組織和存儲方法與應用程序相互獨立,互不依賴,大大降低了應用程序的開發(fā)代價和維護代價。(5)提供了一整套的安全機制來保證數(shù)據(jù)的安全、可靠。(6)可以給數(shù)據(jù)定義一些約束條件來保證數(shù)據(jù)的正確性。1261.2數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)庫系統(tǒng)階段的特點:171.2數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)庫系統(tǒng)階段應用程序和數(shù)據(jù)庫之間的關系可以用下圖來表示:應用程序1應用程序2應用程序n……數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫1271.2數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)庫系統(tǒng)階段應用程序和數(shù)1.3數(shù)據(jù)模型數(shù)據(jù)庫是某個企業(yè)、組織或部門所涉及的數(shù)據(jù)的綜合,它不僅要反映數(shù)據(jù)本身的內(nèi)容,而且要反映數(shù)據(jù)之間的聯(lián)系。由于計算機不可能直接處理現(xiàn)實世界中的具體事物,所以人們必須事先把具體事物轉(zhuǎn)換成計算機能夠處理的數(shù)據(jù)。在數(shù)據(jù)庫技術中使用數(shù)據(jù)模型來抽象、表示現(xiàn)實世界中的數(shù)據(jù)和信息。

模型:對現(xiàn)實世界特征的模擬和抽象。

數(shù)據(jù)模型:對現(xiàn)實世界數(shù)據(jù)特征的模擬和抽象。1281.3數(shù)據(jù)模型數(shù)據(jù)庫是某個企業(yè)、組織或部門所涉1.3數(shù)據(jù)模型現(xiàn)實世界中的數(shù)據(jù)要進入到數(shù)據(jù)庫中,需要經(jīng)過人們的認識、理解、整理、規(guī)范和加工??梢园堰@一過程劃分成三個主要階段,即現(xiàn)實世界階段、信息世界階段和機器世界階段?,F(xiàn)實世界中的數(shù)據(jù)經(jīng)過人們的認識和抽象,形成信息世界;在信息世界中用概念模型來描述數(shù)據(jù)及其聯(lián)系,概念模型按用戶的觀點對數(shù)據(jù)和信息進行建模,獨立于具體的機器和DBMS;根據(jù)所使用的具體機器和DBMS,需要對概念模型進行進一步轉(zhuǎn)換,形成在具體機器環(huán)境下可以實現(xiàn)的數(shù)據(jù)模型。1291.3數(shù)據(jù)模型現(xiàn)實世界中的數(shù)據(jù)要進入到數(shù)據(jù)庫中,1.3數(shù)據(jù)模型三個階段之間的相互關系:不依賴于具體機器和DBMS依賴于具體機器和DBMS現(xiàn)實世界信息世界:概念模型機器世界:某DBMS支持的數(shù)據(jù)模型抽象轉(zhuǎn)換1301.3數(shù)據(jù)模型三個階段之間的相互關系:不依賴于具1.3.1現(xiàn)實世界1.實體:現(xiàn)實世界中客觀存在并可以相互區(qū)分的事物稱。如學生、課程、零件、案件等

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論