VisualFoxPro6.0使用與開發(fā)技術_第1頁
VisualFoxPro6.0使用與開發(fā)技術_第2頁
VisualFoxPro6.0使用與開發(fā)技術_第3頁
VisualFoxPro6.0使用與開發(fā)技術_第4頁
VisualFoxPro6.0使用與開發(fā)技術_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Visual FoxPro 6.0使用與開發(fā)技術使用與開發(fā)技術高職高專計算機系列教材高職高專計算機系列教材 譚浩強譚浩強 主編主編總總 目目 錄錄第第1章章Visual FoxPro系統(tǒng)概述系統(tǒng)概述第第2章走進章走進Visual FoxPro第第3章章Visual FoxPro基本操作及其預備知識基本操作及其預備知識第第4章表章表第第5章數(shù)據(jù)庫章數(shù)據(jù)庫第第6章視圖章視圖第第7章查詢章查詢第第8章章 報表報表第第9章程序設計基礎章程序設計基礎第第10章類章類第第11章表單章表單第第12章應用表單的設計章應用表單的設計第第13章菜單章菜單第第14章應用系統(tǒng)開發(fā)章應用系統(tǒng)開發(fā)第第1章章Visual

2、FoxPro系統(tǒng)概述系統(tǒng)概述1.1數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念1.2數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)1.3Visual FoxPro數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)習題習題 Visual FoxPro系統(tǒng)概述本章主要介紹與系統(tǒng)概述本章主要介紹與Visual FoxPro數(shù)據(jù)庫管理系統(tǒng)相關的一些數(shù)據(jù)庫基礎理論數(shù)據(jù)庫管理系統(tǒng)相關的一些數(shù)據(jù)庫基礎理論方面的知識,逐一講解信息、數(shù)據(jù)、數(shù)據(jù)庫等概念方面的知識,逐一講解信息、數(shù)據(jù)、數(shù)據(jù)庫等概念和關系數(shù)據(jù)庫規(guī)范化原則,這些是學習和掌握和關系數(shù)據(jù)庫規(guī)范化原則,這些是學習和掌握Visual FoxPro技術的基礎和前提。技術的基礎和前提。1.1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念 當

3、人們試圖走進數(shù)據(jù)庫應用領域時,首先遇到的是信當人們試圖走進數(shù)據(jù)庫應用領域時,首先遇到的是信息、數(shù)據(jù)和數(shù)據(jù)庫等基本概念。這些不同的術語和概息、數(shù)據(jù)和數(shù)據(jù)庫等基本概念。這些不同的術語和概念貫穿數(shù)據(jù)處理的全過程,對我們更好地學習和使用念貫穿數(shù)據(jù)處理的全過程,對我們更好地學習和使用數(shù)據(jù)庫管理系統(tǒng),有著重要的意義。當我們對這些概數(shù)據(jù)庫管理系統(tǒng),有著重要的意義。當我們對這些概念有所了解后,學習念有所了解后,學習Visual FoxPro數(shù)據(jù)庫管理系統(tǒng)操數(shù)據(jù)庫管理系統(tǒng)操作與應用,將會更加得心應手。作與應用,將會更加得心應手。 1.1.1 信息、數(shù)據(jù)信息、數(shù)據(jù) 1. 信息信息 信息信息(information

4、)是客觀事物屬性的反映。它所反映是客觀事物屬性的反映。它所反映的是某一客觀系統(tǒng)中,某一事物的某一方面屬性或某的是某一客觀系統(tǒng)中,某一事物的某一方面屬性或某一時刻的表現(xiàn)形式。通俗地講,信息是經(jīng)過加工處理一時刻的表現(xiàn)形式。通俗地講,信息是經(jīng)過加工處理并對人類客觀行為產(chǎn)生影響的數(shù)據(jù)表現(xiàn)形式。并對人類客觀行為產(chǎn)生影響的數(shù)據(jù)表現(xiàn)形式。 信息是人們在進行社會活動、經(jīng)濟活動及生產(chǎn)活動信息是人們在進行社會活動、經(jīng)濟活動及生產(chǎn)活動時的產(chǎn)物,并用以參與、指導其活動過程。信息是時的產(chǎn)物,并用以參與、指導其活動過程。信息是有價值的,信息是可以感知的。信息可以通過載體有價值的,信息是可以感知的。信息可以通過載體傳遞,信

5、息可以通過信息處理工具進行存儲、加工、傳遞,信息可以通過信息處理工具進行存儲、加工、傳播、再生和增值。傳播、再生和增值。 在信息社會中,信息一般可與物質和能量相提并論,在信息社會中,信息一般可與物質和能量相提并論,它是一種重要的資源。它是一種重要的資源。2. 數(shù)據(jù)數(shù)據(jù) 數(shù)據(jù)數(shù)據(jù)(data)是反映客觀事物屬性的記錄,是信息的是反映客觀事物屬性的記錄,是信息的載體。對客觀事物屬性的記錄是用一定的符號來表載體。對客觀事物屬性的記錄是用一定的符號來表達的,因此數(shù)據(jù)是信息的具體表現(xiàn)形式。數(shù)據(jù)所反達的,因此數(shù)據(jù)是信息的具體表現(xiàn)形式。數(shù)據(jù)所反映的事物屬性是它的內(nèi)容,而符號是它的形式。映的事物屬性是它的內(nèi)容,

6、而符號是它的形式。 數(shù)據(jù)表現(xiàn)信息的形式可以是多種多樣的,不僅有數(shù)字、數(shù)據(jù)表現(xiàn)信息的形式可以是多種多樣的,不僅有數(shù)字、文字符號,還可以有圖形、圖像和聲音等。用數(shù)據(jù)記文字符號,還可以有圖形、圖像和聲音等。用數(shù)據(jù)記錄同一信息可以有不同的形式,信息不會隨著數(shù)據(jù)形錄同一信息可以有不同的形式,信息不會隨著數(shù)據(jù)形式的不同而改變其內(nèi)容和價值。式的不同而改變其內(nèi)容和價值。 數(shù)據(jù)與信息在概念上是有區(qū)別的。從信息處理角度看,數(shù)據(jù)與信息在概念上是有區(qū)別的。從信息處理角度看,任何事物的屬性都是通過數(shù)據(jù)來表示的,數(shù)據(jù)經(jīng)過加任何事物的屬性都是通過數(shù)據(jù)來表示的,數(shù)據(jù)經(jīng)過加工處理后,使其具有知識性并對人類活動產(chǎn)生決策作工處理后

7、,使其具有知識性并對人類活動產(chǎn)生決策作用,從而形成信息。用,從而形成信息。 用數(shù)據(jù)符號表示信息,其形式有許多種類型。常見的用數(shù)據(jù)符號表示信息,其形式有許多種類型。常見的有三種類型,一是數(shù)值型數(shù)據(jù),即對客觀事物進行定有三種類型,一是數(shù)值型數(shù)據(jù),即對客觀事物進行定量記錄的符號,如數(shù)量、年齡、價格和度數(shù)等;二是量記錄的符號,如數(shù)量、年齡、價格和度數(shù)等;二是字符型數(shù)據(jù),即對客觀事物進行定性記錄的符號,如字符型數(shù)據(jù),即對客觀事物進行定性記錄的符號,如姓名、單位、地址的標志等;三是特殊型數(shù)據(jù),即對姓名、單位、地址的標志等;三是特殊型數(shù)據(jù),即對客觀事物進行形象特征和過程記錄的符號,如聲音、客觀事物進行形象特

8、征和過程記錄的符號,如聲音、視頻、圖像等。視頻、圖像等。 從計算機的角度看,數(shù)據(jù)泛指可以被計算機接受并能從計算機的角度看,數(shù)據(jù)泛指可以被計算機接受并能夠被計算機處理的符號。夠被計算機處理的符號。 總之,信息是有用的數(shù)據(jù),數(shù)據(jù)是信息的表現(xiàn)形式??傊?,信息是有用的數(shù)據(jù),數(shù)據(jù)是信息的表現(xiàn)形式。信息是通過數(shù)據(jù)符號來傳播的,數(shù)據(jù)如不具有知識性信息是通過數(shù)據(jù)符號來傳播的,數(shù)據(jù)如不具有知識性和有用性則不能稱其為信息。和有用性則不能稱其為信息。 1.1.2 數(shù)據(jù)處理數(shù)據(jù)處理 所謂數(shù)據(jù)處理實際上就是利用計算機對各種類型的數(shù)所謂數(shù)據(jù)處理實際上就是利用計算機對各種類型的數(shù)據(jù)進行處理。數(shù)據(jù)處理也稱為信息處理。它包括對

9、數(shù)據(jù)進行處理。數(shù)據(jù)處理也稱為信息處理。它包括對數(shù)據(jù)的采集、整理、存儲、分類、排序、檢索、維護、據(jù)的采集、整理、存儲、分類、排序、檢索、維護、加工、統(tǒng)計和傳輸?shù)纫幌盗胁僮鳌?shù)據(jù)處理的目的是加工、統(tǒng)計和傳輸?shù)纫幌盗胁僮鳌?shù)據(jù)處理的目的是從大量的、原始的數(shù)據(jù)中獲得我們所需要的資料并提從大量的、原始的數(shù)據(jù)中獲得我們所需要的資料并提取有用的數(shù)據(jù)成分,作為行為和決策的依據(jù)。取有用的數(shù)據(jù)成分,作為行為和決策的依據(jù)。 隨著電子計算機軟件和硬件技術的發(fā)展,數(shù)據(jù)處理隨著電子計算機軟件和硬件技術的發(fā)展,數(shù)據(jù)處理過程發(fā)生了劃時代的變革,而數(shù)據(jù)庫技術的發(fā)展,過程發(fā)生了劃時代的變革,而數(shù)據(jù)庫技術的發(fā)展,又使數(shù)據(jù)處理跨入了

10、一個嶄新的階段。數(shù)據(jù)的管理又使數(shù)據(jù)處理跨入了一個嶄新的階段。數(shù)據(jù)的管理技術的發(fā)展經(jīng)歷了人工管理、文件管理和數(shù)據(jù)庫系技術的發(fā)展經(jīng)歷了人工管理、文件管理和數(shù)據(jù)庫系統(tǒng)管理三個階段。統(tǒng)管理三個階段。 人工管理出現(xiàn)在計算機應用于數(shù)據(jù)管理的初期。由人工管理出現(xiàn)在計算機應用于數(shù)據(jù)管理的初期。由于沒有必要軟件和相應的硬件環(huán)境支持,用戶只能于沒有必要軟件和相應的硬件環(huán)境支持,用戶只能直接在裸機上操作。用戶的應用程序中不僅要有設直接在裸機上操作。用戶的應用程序中不僅要有設計數(shù)據(jù)處理的方法,還要闡明數(shù)據(jù)在存儲器上的存計數(shù)據(jù)處理的方法,還要闡明數(shù)據(jù)在存儲器上的存儲地址。在這一管理方式下,用戶的應用程序與數(shù)儲地址。在這

11、一管理方式下,用戶的應用程序與數(shù)據(jù)相互結合不可分割,當數(shù)據(jù)有所變動時程序則隨據(jù)相互結合不可分割,當數(shù)據(jù)有所變動時程序則隨之改變,獨立性差;另外,各程序之間的數(shù)據(jù)不能之改變,獨立性差;另外,各程序之間的數(shù)據(jù)不能相互傳遞,缺少共享性,因而這種管理方式既不靈相互傳遞,缺少共享性,因而這種管理方式既不靈活,也不安全,編程效率低下?;?,也不安全,編程效率低下。 文件管理是利用文件系統(tǒng)管理軟件把有關的數(shù)據(jù)組文件管理是利用文件系統(tǒng)管理軟件把有關的數(shù)據(jù)組織成一個數(shù)據(jù)文件,并長期地保存在外存儲器上,織成一個數(shù)據(jù)文件,并長期地保存在外存儲器上,這種數(shù)據(jù)文件可以脫離程序而獨立存在,由一個專這種數(shù)據(jù)文件可以脫離程序而

12、獨立存在,由一個專門的文件管理系統(tǒng)實施統(tǒng)一管理。文件管理系統(tǒng)是門的文件管理系統(tǒng)實施統(tǒng)一管理。文件管理系統(tǒng)是一個獨立的系統(tǒng)軟件,是應用程序與數(shù)據(jù)文件之間一個獨立的系統(tǒng)軟件,是應用程序與數(shù)據(jù)文件之間的一個接口。在這一管理方式下,應用程序通過文的一個接口。在這一管理方式下,應用程序通過文件管理系統(tǒng)對數(shù)據(jù)文件中的數(shù)據(jù)進行加工處理。應件管理系統(tǒng)對數(shù)據(jù)文件中的數(shù)據(jù)進行加工處理。應用程序與數(shù)據(jù)之間具有一定的獨立性。但數(shù)據(jù)文件用程序與數(shù)據(jù)之間具有一定的獨立性。但數(shù)據(jù)文件仍高度依賴于與其對應的特定程序,不能被多個程仍高度依賴于與其對應的特定程序,不能被多個程序通用,由于數(shù)據(jù)文件之間不能建立任何聯(lián)系,因序通用,由

13、于數(shù)據(jù)文件之間不能建立任何聯(lián)系,因而數(shù)據(jù)的通用性仍然較差,冗余量大。而數(shù)據(jù)的通用性仍然較差,冗余量大。 數(shù)據(jù)庫系統(tǒng)管理是通過數(shù)據(jù)庫管理系統(tǒng)軟件對所用數(shù)據(jù)庫系統(tǒng)管理是通過數(shù)據(jù)庫管理系統(tǒng)軟件對所用的數(shù)據(jù)實行統(tǒng)一規(guī)劃管理,形成一個數(shù)據(jù)中心,構的數(shù)據(jù)實行統(tǒng)一規(guī)劃管理,形成一個數(shù)據(jù)中心,構成一個數(shù)據(jù)成一個數(shù)據(jù)“倉庫倉庫”,在這個數(shù)據(jù)庫中的數(shù)據(jù)能,在這個數(shù)據(jù)庫中的數(shù)據(jù)能夠滿足不同用戶的要求,供不同用戶共享。在這一夠滿足不同用戶的要求,供不同用戶共享。在這一管理方式下,應用程序不再只與一個孤立的數(shù)據(jù)文管理方式下,應用程序不再只與一個孤立的數(shù)據(jù)文件相對應,可以取整體數(shù)據(jù)集的某個子集作為邏輯件相對應,可以取整體

14、數(shù)據(jù)集的某個子集作為邏輯文件與其對應,通過數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)邏輯文件文件與其對應,通過數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)邏輯文件與物理數(shù)據(jù)之間的協(xié)調(diào)與互動,從而實現(xiàn)數(shù)據(jù)處理。與物理數(shù)據(jù)之間的協(xié)調(diào)與互動,從而實現(xiàn)數(shù)據(jù)處理。在數(shù)據(jù)庫系統(tǒng)管理的系統(tǒng)環(huán)境下,應用程序對數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)管理的系統(tǒng)環(huán)境下,應用程序對數(shù)據(jù)管理和訪問靈活方便,而且數(shù)據(jù)與應用程序之間完管理和訪問靈活方便,而且數(shù)據(jù)與應用程序之間完全獨立,使程序的編制質量和效率都有所提高。由全獨立,使程序的編制質量和效率都有所提高。由于數(shù)據(jù)庫文件中的各數(shù)據(jù)子集間可以建立關聯(lián)關系,于數(shù)據(jù)庫文件中的各數(shù)據(jù)子集間可以建立關聯(lián)關系,所以數(shù)據(jù)的冗余大大減少,數(shù)據(jù)共享性顯著增

15、強。所以數(shù)據(jù)的冗余大大減少,數(shù)據(jù)共享性顯著增強。1.1.3 數(shù)學模型數(shù)學模型 現(xiàn)實世界中的客觀事物是彼此相互聯(lián)系的。一方面,現(xiàn)實世界中的客觀事物是彼此相互聯(lián)系的。一方面,某一事物內(nèi)部的諸因素和諸屬性根據(jù)一定的組織原某一事物內(nèi)部的諸因素和諸屬性根據(jù)一定的組織原則相互具有聯(lián)系,構成一個相對獨立的系統(tǒng);另一則相互具有聯(lián)系,構成一個相對獨立的系統(tǒng);另一方面,某一事物同時也作為一個更大系統(tǒng)的一個因方面,某一事物同時也作為一個更大系統(tǒng)的一個因素或一種屬性而存在,并與系統(tǒng)的其他因素或屬性素或一種屬性而存在,并與系統(tǒng)的其他因素或屬性發(fā)生聯(lián)系。客觀事物的這種普遍聯(lián)系性決定了作為發(fā)生聯(lián)系??陀^事物的這種普遍聯(lián)系性

16、決定了作為事物屬性記錄符號的數(shù)據(jù)與數(shù)據(jù)之間也存在著一定事物屬性記錄符號的數(shù)據(jù)與數(shù)據(jù)之間也存在著一定的聯(lián)系性。具有聯(lián)系性的相關數(shù)據(jù)總是按照一定的的聯(lián)系性。具有聯(lián)系性的相關數(shù)據(jù)總是按照一定的組織關系排列,從而構成一定的結構,對這種結構組織關系排列,從而構成一定的結構,對這種結構的描述就是數(shù)學模型。的描述就是數(shù)學模型。 數(shù)學模型是數(shù)據(jù)庫系統(tǒng)的核心,它規(guī)范了數(shù)據(jù)庫中數(shù)學模型是數(shù)據(jù)庫系統(tǒng)的核心,它規(guī)范了數(shù)據(jù)庫中數(shù)據(jù)的組織形式,表示了數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)的組織形式,表示了數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系。數(shù)學模型的好壞直接影響數(shù)據(jù)庫的性能。支持數(shù)數(shù)學模型的好壞直接影響數(shù)據(jù)庫的性能。支持數(shù)據(jù)庫系統(tǒng)的常用的數(shù)學模型

17、有層次模型據(jù)庫系統(tǒng)的常用的數(shù)學模型有層次模型(hierarchical model)、網(wǎng)狀模型、網(wǎng)狀模型(network model)、關系模型關系模型(relational model)及面向對象模型及面向對象模型(object oriented model)。 層次模型和網(wǎng)狀模型是早期的數(shù)學模型,已逐漸退層次模型和網(wǎng)狀模型是早期的數(shù)學模型,已逐漸退出市場。由于關系模型有更為簡單靈活的特點,因出市場。由于關系模型有更為簡單靈活的特點,因此目前流行的數(shù)據(jù)庫軟件大多使用關系模型。但是,此目前流行的數(shù)據(jù)庫軟件大多使用關系模型。但是,隨著信息的大量傳播,現(xiàn)實生活中存在許多更復雜隨著信息的大量傳播,現(xiàn)

18、實生活中存在許多更復雜的數(shù)據(jù)結構和應用領域,對這些復雜的數(shù)據(jù)的處理,的數(shù)據(jù)結構和應用領域,對這些復雜的數(shù)據(jù)的處理,使用關系模型較為困難,因此產(chǎn)生了面向對象數(shù)學使用關系模型較為困難,因此產(chǎn)生了面向對象數(shù)學模型。面向對象數(shù)學模型是正在發(fā)展中的具有廣泛模型。面向對象數(shù)學模型是正在發(fā)展中的具有廣泛應用開發(fā)價值的模型,目前在此基礎上建立的數(shù)據(jù)應用開發(fā)價值的模型,目前在此基礎上建立的數(shù)據(jù)庫大都是實驗性的。當前社會最為流行的數(shù)據(jù)庫庫大都是實驗性的。當前社會最為流行的數(shù)據(jù)庫軟件產(chǎn)品,大多數(shù)是在關系模型基礎上發(fā)展起來的軟件產(chǎn)品,大多數(shù)是在關系模型基礎上發(fā)展起來的數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)。1.1.4 關系模

19、型關系模型 關系模型關系模型(relational model)是用二維表的邏輯結構是用二維表的邏輯結構來表示數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系。關系模型的所謂來表示數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系。關系模型的所謂“關系關系”是特指那種雖具有相關性,而非從屬性的是特指那種雖具有相關性,而非從屬性的平行的數(shù)據(jù)之間按照某種序列排列的集合關系。平行的數(shù)據(jù)之間按照某種序列排列的集合關系。 例如有一組數(shù)據(jù)如下:例如有一組數(shù)據(jù)如下:1, 甲,女,甲,女,20歲歲2, 乙,男,乙,男,18歲歲3, 丙,女,丙,女,21歲歲4, 丁,男,丁,男,20歲歲 這這4組數(shù)據(jù)之間是平行的,互不從屬,但假如我們組數(shù)據(jù)之間是平行的,互不從屬,但假

20、如我們知道他們是同一個班級的學生,便可以構成某學校知道他們是同一個班級的學生,便可以構成某學校某班學生基本情況表,并建立一個關系。如表某班學生基本情況表,并建立一個關系。如表1-1所示。所示。表表1-1(書第書第4頁頁) 表表1-1中的數(shù)據(jù)雖然是平行的,不代表從屬關系,中的數(shù)據(jù)雖然是平行的,不代表從屬關系,但卻構成了某學校某個班級的學生間的關系結構。但卻構成了某學校某個班級的學生間的關系結構。 同樣,如果我們假設上述同樣,如果我們假設上述4組數(shù)據(jù)不是來自同一個組數(shù)據(jù)不是來自同一個班級,而是來自不同的專業(yè)系,便可以構成某學校班級,而是來自不同的專業(yè)系,便可以構成某學校各專業(yè)學生基本情況表,又可以

21、建立一個關系。如各專業(yè)學生基本情況表,又可以建立一個關系。如表表1-2所示。所示。表表1-2(書第書第4頁頁) 以上兩表所表現(xiàn)的都是關系模型。表格中的每一列數(shù)以上兩表所表現(xiàn)的都是關系模型。表格中的每一列數(shù)據(jù)都是獨立的數(shù)據(jù)項,它們共同構成了該關系的全部據(jù)都是獨立的數(shù)據(jù)項,它們共同構成了該關系的全部內(nèi)容。內(nèi)容。 表格中的每一行稱為一個記錄表格中的每一行稱為一個記錄(record)。記錄用來表示。記錄用來表示關系模型中若干平行的、相對獨立的個體事物,每一關系模型中若干平行的、相對獨立的個體事物,每一記錄由若干數(shù)據(jù)項的值組成。記錄由若干數(shù)據(jù)項的值組成。 表格中的每一列稱為一個字段表格中的每一列稱為一個

22、字段(field)。字段是表示關系。字段是表示關系模型中具有某種屬性的一列數(shù)據(jù),一般在表格的第一模型中具有某種屬性的一列數(shù)據(jù),一般在表格的第一行標示屬性類型的名稱,稱為字段名。行標示屬性類型的名稱,稱為字段名。 總體上說,以豎向的數(shù)據(jù)屬性分類的若干個記錄的集總體上說,以豎向的數(shù)據(jù)屬性分類的若干個記錄的集合,構成一個關系模型,稱為一個關系合,構成一個關系模型,稱為一個關系(relation)。在。在某種意義上關系模型就是一張二維表,用來描述客觀某種意義上關系模型就是一張二維表,用來描述客觀事物屬性的關系。事物屬性的關系。 關系模型有以下主要特點:關系模型有以下主要特點:(1) 關系中每一數(shù)據(jù)項不

23、可再分,是最基本的單位。關系中每一數(shù)據(jù)項不可再分,是最基本的單位。(2) 每一列數(shù)據(jù)項具有相同的類型,稱其為數(shù)據(jù)的屬每一列數(shù)據(jù)項具有相同的類型,稱其為數(shù)據(jù)的屬性。列數(shù)根據(jù)需要而設,各列都有唯一的屬性名和性。列數(shù)根據(jù)需要而設,各列都有唯一的屬性名和對應的屬性值。對應的屬性值。(3) 每一列的順序是任意的。每一列的順序是任意的。(4) 每一行數(shù)據(jù)是一個個體事物諸多屬性值的集合,每一行數(shù)據(jù)是一個個體事物諸多屬性值的集合,稱其為記錄。稱其為記錄。(5) 記錄的順序可以是任意的。記錄的順序可以是任意的。(6) 在一個關系中,不允許有相同的字段名,也不允在一個關系中,不允許有相同的字段名,也不允許有相同的

24、記錄行。許有相同的記錄行。1.1.5 數(shù)據(jù)庫數(shù)據(jù)庫 數(shù)據(jù)庫數(shù)據(jù)庫(data base)是以一定的組織方式將相關的數(shù)是以一定的組織方式將相關的數(shù)據(jù)組織在一起存放在計算機外存儲器上,并能為多據(jù)組織在一起存放在計算機外存儲器上,并能為多個用戶共享的、與應用程序彼此獨立的一組相關數(shù)個用戶共享的、與應用程序彼此獨立的一組相關數(shù)據(jù)的集合。據(jù)的集合。 數(shù)據(jù)庫是數(shù)據(jù)庫應用系統(tǒng)的核心和管理對象。前面數(shù)據(jù)庫是數(shù)據(jù)庫應用系統(tǒng)的核心和管理對象。前面介紹的數(shù)學模型是對數(shù)據(jù)庫如何組織的一種模型表介紹的數(shù)學模型是對數(shù)據(jù)庫如何組織的一種模型表示,它不僅包括客觀事物本身的信息,還包括各事示,它不僅包括客觀事物本身的信息,還包括

25、各事物間的聯(lián)系。數(shù)學模型的主要特征是數(shù)據(jù)結構,因物間的聯(lián)系。數(shù)學模型的主要特征是數(shù)據(jù)結構,因此,確定了數(shù)學模型,就等于確定了數(shù)據(jù)間的關系,此,確定了數(shù)學模型,就等于確定了數(shù)據(jù)間的關系,即數(shù)據(jù)庫的框架。有了數(shù)據(jù)間的關系框架,再把表即數(shù)據(jù)庫的框架。有了數(shù)據(jù)間的關系框架,再把表示客觀事物具體特征的數(shù)據(jù)裝入框架中,就形成了示客觀事物具體特征的數(shù)據(jù)裝入框架中,就形成了數(shù)據(jù)庫。數(shù)據(jù)庫。 通俗地講,數(shù)據(jù)庫就是有條理、有組織、合理地存通俗地講,數(shù)據(jù)庫就是有條理、有組織、合理地存放大量數(shù)據(jù)的放大量數(shù)據(jù)的“數(shù)據(jù)倉庫數(shù)據(jù)倉庫”。 數(shù)據(jù)庫的性質是由其依賴的數(shù)學模型所決定的。在數(shù)據(jù)庫的性質是由其依賴的數(shù)學模型所決定的。

26、在數(shù)據(jù)庫中,如果依照層次模型進行數(shù)據(jù)存儲,則該數(shù)據(jù)庫中,如果依照層次模型進行數(shù)據(jù)存儲,則該數(shù)據(jù)庫為層次數(shù)據(jù)庫;如果依照網(wǎng)絡模型進行數(shù)據(jù)數(shù)據(jù)庫為層次數(shù)據(jù)庫;如果依照網(wǎng)絡模型進行數(shù)據(jù)存儲,則該數(shù)據(jù)庫為網(wǎng)絡數(shù)據(jù)庫;如果依照關系模存儲,則該數(shù)據(jù)庫為網(wǎng)絡數(shù)據(jù)庫;如果依照關系模型進行數(shù)據(jù)存儲,則該數(shù)據(jù)庫為關系數(shù)據(jù)庫;如果型進行數(shù)據(jù)存儲,則該數(shù)據(jù)庫為關系數(shù)據(jù)庫;如果依照面向對象模型進行數(shù)據(jù)存儲,則該數(shù)據(jù)庫為面依照面向對象模型進行數(shù)據(jù)存儲,則該數(shù)據(jù)庫為面向對象數(shù)據(jù)庫。向對象數(shù)據(jù)庫。 Visual FoxPro數(shù)據(jù)庫管理系統(tǒng)所創(chuàng)造的數(shù)據(jù)庫,是數(shù)據(jù)庫管理系統(tǒng)所創(chuàng)造的數(shù)據(jù)庫,是依照關系模型進行數(shù)據(jù)存儲的,因此稱其數(shù)

27、據(jù)庫為依照關系模型進行數(shù)據(jù)存儲的,因此稱其數(shù)據(jù)庫為關系數(shù)據(jù)庫。關系數(shù)據(jù)庫。1.1.6 關系數(shù)據(jù)庫關系數(shù)據(jù)庫 1. 關系數(shù)據(jù)庫關系數(shù)據(jù)庫 關系數(shù)據(jù)庫關系數(shù)據(jù)庫(relation database)是若干個依照關系模是若干個依照關系模型設計的若干關系的集合。也就是說,關系數(shù)據(jù)庫型設計的若干關系的集合。也就是說,關系數(shù)據(jù)庫是由若干張完成關系模型設計的二維表組成的。是由若干張完成關系模型設計的二維表組成的。 我們稱一個我們稱一個“關系關系”(一張二維表一張二維表)為一個數(shù)據(jù)表文為一個數(shù)據(jù)表文件件(簡稱數(shù)據(jù)表簡稱數(shù)據(jù)表)。數(shù)據(jù)表是由數(shù)據(jù)及數(shù)據(jù)結構組成。數(shù)據(jù)表是由數(shù)據(jù)及數(shù)據(jù)結構組成的。對數(shù)據(jù)結構的描述,形

28、成了數(shù)據(jù)表的框架,而的。對數(shù)據(jù)結構的描述,形成了數(shù)據(jù)表的框架,而數(shù)據(jù)則是按照數(shù)據(jù)結構填充的有著關系排列的數(shù)據(jù)數(shù)據(jù)則是按照數(shù)據(jù)結構填充的有著關系排列的數(shù)據(jù)項,它是數(shù)據(jù)表的內(nèi)容。項,它是數(shù)據(jù)表的內(nèi)容。 一個關系數(shù)據(jù)庫由若干個數(shù)據(jù)表組成,一個數(shù)據(jù)表一個關系數(shù)據(jù)庫由若干個數(shù)據(jù)表組成,一個數(shù)據(jù)表又由若干個記錄組成,而每一個記錄則由若干個以又由若干個記錄組成,而每一個記錄則由若干個以字段屬性加以分類的數(shù)據(jù)項組成。字段屬性加以分類的數(shù)據(jù)項組成。 在關系數(shù)據(jù)庫中,每一個數(shù)據(jù)表都具有相對的獨立在關系數(shù)據(jù)庫中,每一個數(shù)據(jù)表都具有相對的獨立性,這一獨立性的唯一標志是數(shù)據(jù)表的名字,稱為性,這一獨立性的唯一標志是數(shù)據(jù)表

29、的名字,稱為表文件名。也就是說,每一個數(shù)據(jù)表是靠自身的文表文件名。也就是說,每一個數(shù)據(jù)表是靠自身的文件名與其他文件保持獨立,一個文件名代表一個獨件名與其他文件保持獨立,一個文件名代表一個獨立的表文件。一個數(shù)據(jù)庫中不允許有重名的數(shù)據(jù)表,立的表文件。一個數(shù)據(jù)庫中不允許有重名的數(shù)據(jù)表,因為對數(shù)據(jù)表中數(shù)據(jù)的訪問首先是通過表文件名來因為對數(shù)據(jù)表中數(shù)據(jù)的訪問首先是通過表文件名來導引的。導引的。 在關系數(shù)據(jù)庫中,有些數(shù)據(jù)表之間是具有相關性的,在關系數(shù)據(jù)庫中,有些數(shù)據(jù)表之間是具有相關性的,數(shù)據(jù)表之間的這種相關性是依靠每一個獨立的數(shù)據(jù)數(shù)據(jù)表之間的這種相關性是依靠每一個獨立的數(shù)據(jù)表內(nèi)部具有相同屬性的字段建立的。以

30、關系模型設表內(nèi)部具有相同屬性的字段建立的。以關系模型設計的數(shù)據(jù)表為基本文件的關系數(shù)據(jù)庫,不但每個數(shù)計的數(shù)據(jù)表為基本文件的關系數(shù)據(jù)庫,不但每個數(shù)據(jù)表之間具有獨立性,而且若干個數(shù)據(jù)表之間又具據(jù)表之間具有獨立性,而且若干個數(shù)據(jù)表之間又具有相關性,這一特點使其具有很大的越性。有相關性,這一特點使其具有很大的越性。 2. 關系數(shù)據(jù)庫的特點關系數(shù)據(jù)庫的特點 關系數(shù)據(jù)庫有以下主要特點:關系數(shù)據(jù)庫有以下主要特點:(1) 關系數(shù)據(jù)庫以面向系統(tǒng)的觀點組織數(shù)據(jù),使數(shù)據(jù)關系數(shù)據(jù)庫以面向系統(tǒng)的觀點組織數(shù)據(jù),使數(shù)據(jù)具有最小的冗余度,支持復雜的數(shù)據(jù)結構。具有最小的冗余度,支持復雜的數(shù)據(jù)結構。(2) 關系數(shù)據(jù)庫具有高度的數(shù)據(jù)

31、和程序的相互獨立性,關系數(shù)據(jù)庫具有高度的數(shù)據(jù)和程序的相互獨立性,使應用程序與數(shù)據(jù)的邏輯結構和數(shù)據(jù)的物理存儲方使應用程序與數(shù)據(jù)的邏輯結構和數(shù)據(jù)的物理存儲方式無關。式無關。(3) 關系數(shù)據(jù)庫中的數(shù)據(jù)由于具有共享性,使其能為關系數(shù)據(jù)庫中的數(shù)據(jù)由于具有共享性,使其能為多個用戶服務。多個用戶服務。(4) 關系數(shù)據(jù)庫允許多個用戶訪問數(shù)據(jù)庫中的數(shù)據(jù),關系數(shù)據(jù)庫允許多個用戶訪問數(shù)據(jù)庫中的數(shù)據(jù),同時提供了各種控制功能,保證數(shù)據(jù)獲得安全性、同時提供了各種控制功能,保證數(shù)據(jù)獲得安全性、完整性和并發(fā)性控制。其中,安全性控制可防止未完整性和并發(fā)性控制。其中,安全性控制可防止未經(jīng)允許的用戶存取數(shù)據(jù);完整性控制可保證數(shù)據(jù)的

32、經(jīng)允許的用戶存取數(shù)據(jù);完整性控制可保證數(shù)據(jù)的正確性、有效性和相容性;并發(fā)性控制可防止多正確性、有效性和相容性;并發(fā)性控制可防止多用戶并發(fā)訪問數(shù)據(jù)時由于相互干擾而產(chǎn)生的數(shù)據(jù)不用戶并發(fā)訪問數(shù)據(jù)時由于相互干擾而產(chǎn)生的數(shù)據(jù)不一致。一致。1.1.7 關系模型的規(guī)范化原則關系模型的規(guī)范化原則 數(shù)據(jù)怎樣存入關系數(shù)據(jù)庫是數(shù)據(jù)庫最重要的操作之數(shù)據(jù)怎樣存入關系數(shù)據(jù)庫是數(shù)據(jù)庫最重要的操作之一,也是應用程序開發(fā)的關鍵。通常,我們首先要一,也是應用程序開發(fā)的關鍵。通常,我們首先要把收集來的相關的數(shù)據(jù)存放到數(shù)據(jù)表中,在實際應把收集來的相關的數(shù)據(jù)存放到數(shù)據(jù)表中,在實際應用中,有許多相關的數(shù)據(jù)集合到一個數(shù)據(jù)表后,數(shù)用中,有許

33、多相關的數(shù)據(jù)集合到一個數(shù)據(jù)表后,數(shù)據(jù)的關系會變得很復雜,數(shù)據(jù)表中的字段個數(shù)和數(shù)據(jù)的關系會變得很復雜,數(shù)據(jù)表中的字段個數(shù)和數(shù)據(jù)的數(shù)量很大。很多時候為了使一個事物表達清楚,據(jù)的數(shù)量很大。很多時候為了使一個事物表達清楚,又不違背關系模型的理論,數(shù)據(jù)表中會有大量數(shù)據(jù)又不違背關系模型的理論,數(shù)據(jù)表中會有大量數(shù)據(jù)重復出現(xiàn)的現(xiàn)象。特別是在進行應用程序設計重復出現(xiàn)的現(xiàn)象。特別是在進行應用程序設計時,組織的數(shù)據(jù)表如不理想,輕者會大大增加編時,組織的數(shù)據(jù)表如不理想,輕者會大大增加編程和維護程序的難度,重者會使應用程序無法實現(xiàn)。程和維護程序的難度,重者會使應用程序無法實現(xiàn)。 一個組織良好的數(shù)據(jù)庫,不僅應該有利于方便

34、地解一個組織良好的數(shù)據(jù)庫,不僅應該有利于方便地解決應用問題,而且還應為解決一些不可預測的問題決應用問題,而且還應為解決一些不可預測的問題帶來便利,同時要盡可能地降低編程的難度,這就帶來便利,同時要盡可能地降低編程的難度,這就要求數(shù)據(jù)庫中的數(shù)據(jù)一定要通過相應的約束條件實要求數(shù)據(jù)庫中的數(shù)據(jù)一定要通過相應的約束條件實現(xiàn)數(shù)據(jù)規(guī)范化?,F(xiàn)數(shù)據(jù)規(guī)范化。1. 數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化 數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化(data normalization)理論認為,關系數(shù)理論認為,關系數(shù)據(jù)庫中的每一個關系都要滿足一定的規(guī)范。根據(jù)滿據(jù)庫中的每一個關系都要滿足一定的規(guī)范。根據(jù)滿足規(guī)范的條件不同,可以劃分為五個等級,分別稱足規(guī)范的

35、條件不同,可以劃分為五個等級,分別稱為第一范式為第一范式(1NF),第二范式,第二范式(2NF),第五范,第五范式式(5NF),其中,其中,NF是是(normal form)的縮寫。的縮寫。 需要特別指出的是,在實際操作中,不是數(shù)據(jù)規(guī)范需要特別指出的是,在實際操作中,不是數(shù)據(jù)規(guī)范的等級越高就越好,具體問題還要具體分析。在解的等級越高就越好,具體問題還要具體分析。在解決一般性問題時,通常只要把數(shù)據(jù)規(guī)范到第三個范決一般性問題時,通常只要把數(shù)據(jù)規(guī)范到第三個范式標準就可以滿足需要。式標準就可以滿足需要。 關系模型數(shù)據(jù)規(guī)范化的原則如下:關系模型數(shù)據(jù)規(guī)范化的原則如下:(1) 第一范式:第一范式: 在一個關

36、系中,要滿足關系模型的基在一個關系中,要滿足關系模型的基本性質,消除重復字段,且各字段都是不可分的基本性質,消除重復字段,且各字段都是不可分的基本數(shù)據(jù)項。本數(shù)據(jù)項。(2) 第二范式:第二范式: 若關系模型屬于第一范式,則關系中若關系模型屬于第一范式,則關系中每一個字段都完全依賴于主關鍵字段。每一個字段都完全依賴于主關鍵字段。(3) 第三范式:第三范式: 若關系模型屬于第二范式,且關系中若關系模型屬于第二范式,且關系中所有非主關鍵字段都直接依賴于主關鍵字段。所有非主關鍵字段都直接依賴于主關鍵字段。 數(shù)據(jù)規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴關系中數(shù)據(jù)規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴關系中不合適的部

37、分,使含有不完全依賴或函數(shù)依賴的數(shù)不合適的部分,使含有不完全依賴或函數(shù)依賴的數(shù)學模型的數(shù)據(jù)達到有效的分離。學模型的數(shù)據(jù)達到有效的分離。 例例1.1有某高校的人事檔案管理信息表,如表有某高校的人事檔案管理信息表,如表1-3所所示。示。表表1-3(書第書第7頁頁) 它沒有滿足關系模型的性質,不是一種關系二維表它沒有滿足關系模型的性質,不是一種關系二維表的形式,用戶要根據(jù)關系模型規(guī)范化,在保護原有的形式,用戶要根據(jù)關系模型規(guī)范化,在保護原有信息內(nèi)容的基礎上,規(guī)范這組信息,使其滿足關系信息內(nèi)容的基礎上,規(guī)范這組信息,使其滿足關系模型的性質。模型的性質。 根據(jù)數(shù)據(jù)規(guī)范化原則和關系模型的性質,我們可以根據(jù)

38、數(shù)據(jù)規(guī)范化原則和關系模型的性質,我們可以將表將表1-3修改成如表修改成如表1-4所示的形式。所示的形式。表表1-4(書第書第7頁頁) 例例1.2某旅行社組團信息表如表某旅行社組團信息表如表1-5所示。所示。表表1-5(書第書第7頁頁) 從表從表1-5不難看出,它是不符合數(shù)據(jù)規(guī)范化原則的。不難看出,它是不符合數(shù)據(jù)規(guī)范化原則的。為了方便、有效地使用這些信息資源,我們可以根為了方便、有效地使用這些信息資源,我們可以根據(jù)數(shù)據(jù)規(guī)范化原則,規(guī)范這些信息資源。據(jù)數(shù)據(jù)規(guī)范化原則,規(guī)范這些信息資源。 一種方法是將表一種方法是將表1-5分成兩個獨立的數(shù)據(jù)表,如表分成兩個獨立的數(shù)據(jù)表,如表1-6和表和表1-7。每一

39、個數(shù)據(jù)表都具有獨立的屬性,同時又。每一個數(shù)據(jù)表都具有獨立的屬性,同時又依賴于共同的關鍵字段依賴于共同的關鍵字段“團隊編號團隊編號”,使這些數(shù)據(jù),使這些數(shù)據(jù)表間保持一定的關聯(lián)關系,且兩個數(shù)據(jù)表中的數(shù)據(jù)表間保持一定的關聯(lián)關系,且兩個數(shù)據(jù)表中的數(shù)據(jù)又能體現(xiàn)表又能體現(xiàn)表1-5中的全部信息。中的全部信息。 兩個獨立的數(shù)據(jù)表的內(nèi)容如下。表兩個獨立的數(shù)據(jù)表的內(nèi)容如下。表1-6為團隊基本情為團隊基本情況一覽表,表況一覽表,表1-7為某團隊團員基本情況一覽表。為某團隊團員基本情況一覽表。表表1-6(書第書第8頁頁)表表1-7(書第書第8頁頁) 表表1-6和表和表1-7兩個表中的數(shù)據(jù),包含了表兩個表中的數(shù)據(jù),包含

40、了表1-5中所有中所有的信息。可以看出,若將這些數(shù)據(jù)集中在一個表中的信息。可以看出,若將這些數(shù)據(jù)集中在一個表中(表表1-5),則表中數(shù)據(jù)的結構十分復雜,有許多數(shù)據(jù),則表中數(shù)據(jù)的結構十分復雜,有許多數(shù)據(jù)重復出現(xiàn),造成數(shù)據(jù)的冗余,這必然導致數(shù)據(jù)存儲重復出現(xiàn),造成數(shù)據(jù)的冗余,這必然導致數(shù)據(jù)存儲空間的浪費,使數(shù)據(jù)的輸入、查找和修改更加麻煩。空間的浪費,使數(shù)據(jù)的輸入、查找和修改更加麻煩。相反,我們遵循數(shù)據(jù)規(guī)范化的準則,建立多個相互相反,我們遵循數(shù)據(jù)規(guī)范化的準則,建立多個相互關聯(lián)的數(shù)據(jù)表,并讓這些分開的數(shù)據(jù)表依靠關鍵字關聯(lián)的數(shù)據(jù)表,并讓這些分開的數(shù)據(jù)表依靠關鍵字段保持一定的關聯(lián)關系,就可以有效地改進上述缺

41、段保持一定的關聯(lián)關系,就可以有效地改進上述缺點。點。 例例1.3某旅行社業(yè)務管理信息系統(tǒng)數(shù)據(jù)庫設計。某旅行社業(yè)務管理信息系統(tǒng)數(shù)據(jù)庫設計。 對于一個旅行社業(yè)務管理單位來說,如果想在表對于一個旅行社業(yè)務管理單位來說,如果想在表1-6和表和表1-7提供的數(shù)據(jù)管理基礎上,進一步擴大業(yè)務提供的數(shù)據(jù)管理基礎上,進一步擴大業(yè)務范圍,就要不斷地開發(fā)數(shù)據(jù)資源的類型、范圍和潛范圍,就要不斷地開發(fā)數(shù)據(jù)資源的類型、范圍和潛力,增強數(shù)據(jù)處理的能力?;谶@一點,我們可以力,增強數(shù)據(jù)處理的能力。基于這一點,我們可以把某旅行社業(yè)務管理信息系統(tǒng)數(shù)據(jù)庫,設計成為含把某旅行社業(yè)務管理信息系統(tǒng)數(shù)據(jù)庫,設計成為含多數(shù)據(jù)表的數(shù)據(jù)庫,并使

42、各數(shù)據(jù)表之間通過對應的多數(shù)據(jù)表的數(shù)據(jù)庫,并使各數(shù)據(jù)表之間通過對應的字段建立關聯(lián)關系,使其既具有獨立性,又有其關字段建立關聯(lián)關系,使其既具有獨立性,又有其關聯(lián)性。聯(lián)性。 表表1-8為旅行社團隊組建業(yè)務管理信息。為旅行社團隊組建業(yè)務管理信息。表表1-8(見書第見書第8頁頁) 表表1-9為旅行社團隊行程業(yè)務管理信息。為旅行社團隊行程業(yè)務管理信息。表表1-9(見書第見書第8頁頁) 表表1-10為旅行社旅游路線相關信息。為旅行社旅游路線相關信息。表表1-10(見書第見書第9頁頁) 表表1-11為旅行社旅游團員的相關信息。為旅行社旅游團員的相關信息。表表1-11(見書第見書第9頁頁) 從以上各數(shù)據(jù)表中,我

43、們可以獲取不同的數(shù)據(jù)信息,從以上各數(shù)據(jù)表中,我們可以獲取不同的數(shù)據(jù)信息,并用于相關的業(yè)務管理。由于旅行社內(nèi)部的各種業(yè)并用于相關的業(yè)務管理。由于旅行社內(nèi)部的各種業(yè)務是相互聯(lián)系的,作為一個管理者就更需要綜合、務是相互聯(lián)系的,作為一個管理者就更需要綜合、全面地進行信息處理,而數(shù)據(jù)庫管理系統(tǒng)環(huán)境給我全面地進行信息處理,而數(shù)據(jù)庫管理系統(tǒng)環(huán)境給我們提供了這樣的便利。們提供了這樣的便利。 我們可將這些相關聯(lián)的數(shù)據(jù)表存儲在同一個數(shù)據(jù)庫我們可將這些相關聯(lián)的數(shù)據(jù)表存儲在同一個數(shù)據(jù)庫中中(見圖見圖1.1),并保持一定的關聯(lián)關系,一個旅行社,并保持一定的關聯(lián)關系,一個旅行社業(yè)務管理數(shù)據(jù)庫就建立起來了。使用時如同一個數(shù)

44、業(yè)務管理數(shù)據(jù)庫就建立起來了。使用時如同一個數(shù)據(jù)表一樣,對數(shù)據(jù)進行操作非常方便。據(jù)表一樣,對數(shù)據(jù)進行操作非常方便。圖圖1.12. 數(shù)據(jù)表之間的關聯(lián)關系數(shù)據(jù)表之間的關聯(lián)關系 從理論上講,把這些依賴于關系模型建立的數(shù)據(jù)表從理論上講,把這些依賴于關系模型建立的數(shù)據(jù)表組織在一起,可以反映客觀事物數(shù)據(jù)間的多種對應組織在一起,可以反映客觀事物數(shù)據(jù)間的多種對應關系。一般情況下,在同一個數(shù)據(jù)庫中,相關聯(lián)的關系。一般情況下,在同一個數(shù)據(jù)庫中,相關聯(lián)的數(shù)據(jù)表之間的關系有一對一、一對多、多對一和多數(shù)據(jù)表之間的關系有一對一、一對多、多對一和多對多的關系。對多的關系。(1) 一對一關系一對一關系 一對一關系,即在兩個數(shù)據(jù)

45、表中選一個相同字段作一對一關系,即在兩個數(shù)據(jù)表中選一個相同字段作為關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表中的關鍵字段為關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表中的關鍵字段稱為原始關鍵字段,該字段值是唯一的,而另一個稱為原始關鍵字段,該字段值是唯一的,而另一個數(shù)據(jù)表中的關鍵字段稱為外來關鍵字段,該字段值數(shù)據(jù)表中的關鍵字段稱為外來關鍵字段,該字段值也是唯一的。也是唯一的。 在例在例1.3中,如果通過中,如果通過“團隊編號團隊編號”這一相同字段,這一相同字段,將表將表1-8與表與表1-9兩表建立關聯(lián)關系,把表兩表建立關聯(lián)關系,把表1-8中的中的“團隊編號團隊編號”視為原始關鍵字段視為原始關鍵字段(該字段值是唯一該字段

46、值是唯一的的),表,表1-9中的中的“團隊編號團隊編號”視為外來關鍵字段視為外來關鍵字段(該該字段值也是唯一的字段值也是唯一的),兩個數(shù)據(jù)表便構成了一對一,兩個數(shù)據(jù)表便構成了一對一的關系。如圖的關系。如圖1.2所示。所示。圖圖1.2(2) 一對多關系一對多關系 一對多關系,即在兩個數(shù)據(jù)表中選一個相同的字段一對多關系,即在兩個數(shù)據(jù)表中選一個相同的字段作為關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表的關鍵字段作為關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表的關鍵字段稱為原始關鍵字段,該字段值是唯一的,而把另一稱為原始關鍵字段,該字段值是唯一的,而把另一個數(shù)據(jù)表中的關鍵字段稱為外來關鍵字段,該字段個數(shù)據(jù)表中的關鍵字段稱為外來關

47、鍵字段,該字段值是重復的。值是重復的。 在例在例1.2中,如果通過中,如果通過“團隊編號團隊編號”這一相同字段,這一相同字段,將表將表1-6與表與表1-7兩表建立關聯(lián)關系,表兩表建立關聯(lián)關系,表1-6中的中的“團團隊編號隊編號”視為原始關鍵字段視為原始關鍵字段(該字段值是唯一的該字段值是唯一的),而表而表1-7中的中的“團隊編號團隊編號”視為外來關鍵字段視為外來關鍵字段(該字該字段值是重復的段值是重復的),兩個表便構成了一對多的關系。,兩個表便構成了一對多的關系。如圖如圖1.3所示。所示。圖圖1.3 在例在例1.3中,如果通過中,如果通過“團隊編號團隊編號”這一相同字段,這一相同字段,將表將表

48、1-9與表與表1-11兩表建立關聯(lián)關系,表兩表建立關聯(lián)關系,表1-9中的中的“團隊編號團隊編號”視為原始關鍵字段,而表視為原始關鍵字段,而表1-11中的中的“團隊編號團隊編號”視為外來關鍵字段,兩個表便構成了視為外來關鍵字段,兩個表便構成了一對多的關系。如圖一對多的關系。如圖1.4所示。所示。圖圖1.4 在例在例1.3中,如果通過中,如果通過“路線編號路線編號”這一相同字段,這一相同字段,將表將表1-10與表與表1-9兩表建立關聯(lián)關系,表兩表建立關聯(lián)關系,表1-10中與表中與表1-9兩個表便構成了一對多的關系。如圖兩個表便構成了一對多的關系。如圖1.5所示。所示。圖圖1.5 從上面的例子可以得

49、知,把一個復雜的表分成一對多從上面的例子可以得知,把一個復雜的表分成一對多的關系,盡管重復還存在,但僅僅是外來關鍵字段的的關系,盡管重復還存在,但僅僅是外來關鍵字段的重復,這就大大減少了數(shù)據(jù)輸入及數(shù)據(jù)存儲的復雜性。重復,這就大大減少了數(shù)據(jù)輸入及數(shù)據(jù)存儲的復雜性。(3) 多對一關系多對一關系 多對一關系與一對多關系是類似的,唯一的區(qū)別是在多對一關系與一對多關系是類似的,唯一的區(qū)別是在兩個相關聯(lián)的數(shù)據(jù)表中,先選擇哪一個數(shù)據(jù)表中的關兩個相關聯(lián)的數(shù)據(jù)表中,先選擇哪一個數(shù)據(jù)表中的關鍵字段為原始關鍵字段,該字段值是重復的,而與它鍵字段為原始關鍵字段,該字段值是重復的,而與它關聯(lián)的另一個數(shù)據(jù)表中的關鍵字段稱

50、為外來關鍵字段,關聯(lián)的另一個數(shù)據(jù)表中的關鍵字段稱為外來關鍵字段,該字段值是唯一的。該字段值是唯一的。 在例在例1.3中,如果把表中,如果把表1-9中的中的“路線編號路線編號”視為原始關視為原始關鍵字段鍵字段(該字段值是重復的該字段值是重復的),而表,而表1-10中的中的“路線編號路線編號”視為外來關鍵字段視為外來關鍵字段(該字段值是唯一的該字段值是唯一的),表,表1-9與表與表1-10兩表間便構成了多對一的關系。如圖兩表間便構成了多對一的關系。如圖1.6所示。所示。圖圖1.6(4) 多對多關系多對多關系 多對多關系,即在兩個數(shù)據(jù)表中選一個相同字段作多對多關系,即在兩個數(shù)據(jù)表中選一個相同字段作為

51、關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表關鍵字段視為為關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表關鍵字段視為原始關鍵字段,該字段值是重復的,而把另一個數(shù)原始關鍵字段,該字段值是重復的,而把另一個數(shù)據(jù)表中的關鍵字段視為外來關鍵字段,該字段值也據(jù)表中的關鍵字段視為外來關鍵字段,該字段值也是重復的,這樣兩個數(shù)據(jù)表間就有了多對多的關系。是重復的,這樣兩個數(shù)據(jù)表間就有了多對多的關系。通常處理數(shù)據(jù)表間多對多的關系,是把多對多的關通常處理數(shù)據(jù)表間多對多的關系,是把多對多的關系化解分成兩個多對一或兩個一對多的關系進行操系化解分成兩個多對一或兩個一對多的關系進行操作。作。 通過上面對數(shù)據(jù)規(guī)范化和數(shù)據(jù)表間關系建立的觀點通過上面對數(shù)據(jù)規(guī)

52、范化和數(shù)據(jù)表間關系建立的觀點闡述,可以得知,在數(shù)據(jù)規(guī)范化原則指導下,既可闡述,可以得知,在數(shù)據(jù)規(guī)范化原則指導下,既可以把復雜問題簡單化,綜合問題個體化,同樣也可以把復雜問題簡單化,綜合問題個體化,同樣也可以把個體問題綜合化。這樣可以大大提高數(shù)據(jù)的使以把個體問題綜合化。這樣可以大大提高數(shù)據(jù)的使用率,同時為系統(tǒng)程序設計提供了很大的方便。用率,同時為系統(tǒng)程序設計提供了很大的方便。1.2 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的核心和管理對象。數(shù)據(jù)庫中數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的核心和管理對象。數(shù)據(jù)庫中數(shù)據(jù)的存儲、維護以及為應用系統(tǒng)提供數(shù)據(jù)支持,數(shù)據(jù)的存儲、維護以及為應用系統(tǒng)提供數(shù)據(jù)支持,都是在數(shù)據(jù)庫系統(tǒng)都

53、是在數(shù)據(jù)庫系統(tǒng)(data base system)環(huán)境下運行完環(huán)境下運行完成的。這一節(jié)將介紹有關數(shù)據(jù)庫系統(tǒng)的一些相關內(nèi)成的。這一節(jié)將介紹有關數(shù)據(jù)庫系統(tǒng)的一些相關內(nèi)容。容。 1.2.1 數(shù)據(jù)庫系統(tǒng)的體系結構數(shù)據(jù)庫系統(tǒng)的體系結構 所謂數(shù)據(jù)庫系統(tǒng)的體系結構,就是數(shù)據(jù)庫系統(tǒng)的總所謂數(shù)據(jù)庫系統(tǒng)的體系結構,就是數(shù)據(jù)庫系統(tǒng)的總體框架。盡管實際數(shù)據(jù)庫系統(tǒng)的軟件產(chǎn)品多種多樣,體框架。盡管實際數(shù)據(jù)庫系統(tǒng)的軟件產(chǎn)品多種多樣,并且支持不同的數(shù)學模型,不同的數(shù)據(jù)庫語言,建并且支持不同的數(shù)學模型,不同的數(shù)據(jù)庫語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結構也各不立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結構也各不相同,但絕大多數(shù)的

54、數(shù)據(jù)庫系統(tǒng)在總的體系結構上相同,但絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)在總的體系結構上具有三級模型的結構特征。具有三級模型的結構特征。 從數(shù)據(jù)管理的角度看,與數(shù)據(jù)庫打交道的有三類人從數(shù)據(jù)管理的角度看,與數(shù)據(jù)庫打交道的有三類人員:用戶、應用程序員和系統(tǒng)程序員。由于他們對員:用戶、應用程序員和系統(tǒng)程序員。由于他們對數(shù)據(jù)庫的認識、理解和接觸范圍各不相同,從而形數(shù)據(jù)庫的認識、理解和接觸范圍各不相同,從而形成了各自的數(shù)據(jù)庫視圖,所謂視圖是指其觀察、認成了各自的數(shù)據(jù)庫視圖,所謂視圖是指其觀察、認識和理解數(shù)據(jù)的范圍、角度和方法。識和理解數(shù)據(jù)的范圍、角度和方法。 根據(jù)各類人員與數(shù)據(jù)庫的不同關系,可把視圖分為根據(jù)各類人員與數(shù)據(jù)

55、庫的不同關系,可把視圖分為三種:三種: 即對應于用戶的外部視圖,對應于應用程即對應于用戶的外部視圖,對應于應用程序員的概念視圖,對應于系統(tǒng)程序員的內(nèi)部視圖。序員的概念視圖,對應于系統(tǒng)程序員的內(nèi)部視圖。 由此形成數(shù)據(jù)庫系統(tǒng)的三級模式結構:由此形成數(shù)據(jù)庫系統(tǒng)的三級模式結構: 外模式、外模式、概念模式和內(nèi)模式。如圖概念模式和內(nèi)模式。如圖1.7所示。所示。圖圖1.7 外模式又稱子模式或用戶模式,對應于用戶級,是某個外模式又稱子模式或用戶模式,對應于用戶級,是某個或幾個數(shù)據(jù)庫用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖。外模式或幾個數(shù)據(jù)庫用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖。外模式是從概念模式導出的子模式,用戶可以通過子模式描

56、述是從概念模式導出的子模式,用戶可以通過子模式描述語言來描述用戶級數(shù)據(jù)庫的記錄,還可以利用數(shù)據(jù)操縱語言來描述用戶級數(shù)據(jù)庫的記錄,還可以利用數(shù)據(jù)操縱語言對這些記錄進行操作。語言對這些記錄進行操作。 概念模式又稱邏輯模式,對應于概念級,它是由數(shù)據(jù)庫概念模式又稱邏輯模式,對應于概念級,它是由數(shù)據(jù)庫設計者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點構造的全設計者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點構造的全局邏輯結構,是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結構和特征局邏輯結構,是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結構和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖。它是用概念的總體描述,是所有用戶的公共數(shù)據(jù)視圖。它是用概念模式描述語言來描述的

57、,是應用程序員的數(shù)據(jù)視圖。模式描述語言來描述的,是應用程序員的數(shù)據(jù)視圖。 內(nèi)模式又稱存儲模式,對應于物理級,是全體數(shù)據(jù)庫數(shù)內(nèi)模式又稱存儲模式,對應于物理級,是全體數(shù)據(jù)庫數(shù)據(jù)的內(nèi)部表示或底層描述,是真正存放在外存儲器上的據(jù)的內(nèi)部表示或底層描述,是真正存放在外存儲器上的數(shù)據(jù)庫,它描述了數(shù)據(jù)在存儲介質上的存儲方式與物理數(shù)據(jù)庫,它描述了數(shù)據(jù)在存儲介質上的存儲方式與物理結構。結構。 數(shù)據(jù)庫系統(tǒng)的三級模式是數(shù)據(jù)的三個抽象級別,使數(shù)據(jù)庫系統(tǒng)的三級模式是數(shù)據(jù)的三個抽象級別,使用戶能夠邏輯地、抽象地處理數(shù)據(jù),而不必關心數(shù)用戶能夠邏輯地、抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的表示和存儲。為了實現(xiàn)三個抽象層據(jù)在

58、計算機中的表示和存儲。為了實現(xiàn)三個抽象層次間的聯(lián)系和轉換,數(shù)據(jù)庫系統(tǒng)在三個模式間提供次間的聯(lián)系和轉換,數(shù)據(jù)庫系統(tǒng)在三個模式間提供了兩級映射:了兩級映射: 外模式與概念模式間的映射、概念外模式與概念模式間的映射、概念模式與內(nèi)模式間的映射。模式與內(nèi)模式間的映射。1.2.2 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng) 從信息處理的理論角度講,如果把利用數(shù)據(jù)庫進行從信息處理的理論角度講,如果把利用數(shù)據(jù)庫進行信息處理的工作過程,或把掌握、管理和操縱數(shù)據(jù)信息處理的工作過程,或把掌握、管理和操縱數(shù)據(jù)庫的數(shù)據(jù)資源的方法看作是一個系統(tǒng),則稱這個系庫的數(shù)據(jù)資源的方法看作是一個系統(tǒng),則稱這個系統(tǒng)為數(shù)據(jù)庫管理系統(tǒng)統(tǒng)為數(shù)據(jù)庫管理系統(tǒng)

59、(data base management system,簡稱,簡稱DBMS)。 數(shù)據(jù)庫管理系統(tǒng)提供對數(shù)據(jù)庫資源進行統(tǒng)一管理和數(shù)據(jù)庫管理系統(tǒng)提供對數(shù)據(jù)庫資源進行統(tǒng)一管理和控制的功能,使數(shù)據(jù)與應用程序隔離,數(shù)據(jù)具有獨控制的功能,使數(shù)據(jù)與應用程序隔離,數(shù)據(jù)具有獨立性。它可以使數(shù)據(jù)結構及數(shù)據(jù)存儲具有一定的規(guī)立性。它可以使數(shù)據(jù)結構及數(shù)據(jù)存儲具有一定的規(guī)范性,減少了數(shù)據(jù)的冗余,并有利于數(shù)據(jù)共享。它范性,減少了數(shù)據(jù)的冗余,并有利于數(shù)據(jù)共享。它提供了安全性和保密性措施,使數(shù)據(jù)不被破壞和竊提供了安全性和保密性措施,使數(shù)據(jù)不被破壞和竊用。用。 數(shù)據(jù)庫管理系統(tǒng)通常由三個部分組成:數(shù)據(jù)庫管理系統(tǒng)通常由三個部分組成:

60、 數(shù)據(jù)描述數(shù)據(jù)描述語言語言(DDL)及其編譯程序、數(shù)據(jù)操縱語言及其編譯程序、數(shù)據(jù)操縱語言(DML)或或查詢語言及其編譯或解釋程序、數(shù)據(jù)庫管理例行程查詢語言及其編譯或解釋程序、數(shù)據(jù)庫管理例行程序。序。 數(shù)據(jù)描述語言用于定義數(shù)據(jù)庫的各級模式數(shù)據(jù)描述語言用于定義數(shù)據(jù)庫的各級模式(外模式、外模式、概念模式、內(nèi)模式概念模式、內(nèi)模式),各種模式通過數(shù)據(jù)描述語言,各種模式通過數(shù)據(jù)描述語言編譯器翻譯成相應的目標模式,保存在數(shù)據(jù)字典中。編譯器翻譯成相應的目標模式,保存在數(shù)據(jù)字典中。 數(shù)據(jù)操縱語言提供對數(shù)據(jù)庫數(shù)據(jù)存取、檢索、插入、數(shù)據(jù)操縱語言提供對數(shù)據(jù)庫數(shù)據(jù)存取、檢索、插入、修改和刪除等基本操作。數(shù)據(jù)操縱語言一般

溫馨提示

  • 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

提交評論