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

下載本文檔

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

文檔簡介

VisualFoxPro6.0

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

VisualFoxPro數(shù)據(jù)庫管理系統(tǒng)習題VisualFoxPro系統(tǒng)概述本章主要介紹與VisualFoxPro數(shù)據(jù)庫管理系統(tǒng)相關的一些數(shù)據(jù)庫基礎理論方面的知識,逐一講解信息、數(shù)據(jù)、數(shù)據(jù)庫等概念和關系數(shù)據(jù)庫規(guī)范化原則,這些是學習和掌握VisualFoxPro技術的基礎和前提。1.1數(shù)據(jù)庫基本概念當人們試圖走進數(shù)據(jù)庫應用領域時,首先遇到的是信息、數(shù)據(jù)和數(shù)據(jù)庫等基本概念。這些不同的術語和概念貫穿數(shù)據(jù)處理的全過程,對我們更好地學習和使用數(shù)據(jù)庫管理系統(tǒng),有著重要的意義。當我們對這些概念有所了解后,學習VisualFoxPro數(shù)據(jù)庫管理系統(tǒng)操作與應用,將會更加得心應手。

1.1.1信息、數(shù)據(jù)

1.信息信息(information)是客觀事物屬性的反映。它所反映的是某一客觀系統(tǒng)中,某一事物的某一方面屬性或某一時刻的表現(xiàn)形式。通俗地講,信息是經過加工處理并對人類客觀行為產生影響的數(shù)據(jù)表現(xiàn)形式。信息是人們在進行社會活動、經濟活動及生產活動時的產物,并用以參與、指導其活動過程。信息是有價值的,信息是可以感知的。信息可以通過載體傳遞,信息可以通過信息處理工具進行存儲、加工、傳播、再生和增值。在信息社會中,信息一般可與物質和能量相提并論,它是一種重要的資源。2.數(shù)據(jù)數(shù)據(jù)(data)是反映客觀事物屬性的記錄,是信息的載體。對客觀事物屬性的記錄是用一定的符號來表達的,因此數(shù)據(jù)是信息的具體表現(xiàn)形式。數(shù)據(jù)所反映的事物屬性是它的內容,而符號是它的形式。數(shù)據(jù)表現(xiàn)信息的形式可以是多種多樣的,不僅有數(shù)字、文字符號,還可以有圖形、圖像和聲音等。用數(shù)據(jù)記錄同一信息可以有不同的形式,信息不會隨著數(shù)據(jù)形式的不同而改變其內容和價值。數(shù)據(jù)與信息在概念上是有區(qū)別的。從信息處理角度看,任何事物的屬性都是通過數(shù)據(jù)來表示的,數(shù)據(jù)經過加工處理后,使其具有知識性并對人類活動產生決策作用,從而形成信息。用數(shù)據(jù)符號表示信息,其形式有許多種類型。常見的有三種類型,一是數(shù)值型數(shù)據(jù),即對客觀事物進行定量記錄的符號,如數(shù)量、年齡、價格和度數(shù)等;二是字符型數(shù)據(jù),即對客觀事物進行定性記錄的符號,如姓名、單位、地址的標志等;三是特殊型數(shù)據(jù),即對客觀事物進行形象特征和過程記錄的符號,如聲音、視頻、圖像等。從計算機的角度看,數(shù)據(jù)泛指可以被計算機接受并能夠被計算機處理的符號??傊畔⑹怯杏玫臄?shù)據(jù),數(shù)據(jù)是信息的表現(xiàn)形式。信息是通過數(shù)據(jù)符號來傳播的,數(shù)據(jù)如不具有知識性和有用性則不能稱其為信息。

1.1.2數(shù)據(jù)處理所謂數(shù)據(jù)處理實際上就是利用計算機對各種類型的數(shù)據(jù)進行處理。數(shù)據(jù)處理也稱為信息處理。它包括對數(shù)據(jù)的采集、整理、存儲、分類、排序、檢索、維護、加工、統(tǒng)計和傳輸?shù)纫幌盗胁僮?。?shù)據(jù)處理的目的是從大量的、原始的數(shù)據(jù)中獲得我們所需要的資料并提取有用的數(shù)據(jù)成分,作為行為和決策的依據(jù)。隨著電子計算機軟件和硬件技術的發(fā)展,數(shù)據(jù)處理過程發(fā)生了劃時代的變革,而數(shù)據(jù)庫技術的發(fā)展,又使數(shù)據(jù)處理跨入了一個嶄新的階段。數(shù)據(jù)的管理技術的發(fā)展經歷了人工管理、文件管理和數(shù)據(jù)庫系統(tǒng)管理三個階段。人工管理出現(xiàn)在計算機應用于數(shù)據(jù)管理的初期。由于沒有必要軟件和相應的硬件環(huán)境支持,用戶只能直接在裸機上操作。用戶的應用程序中不僅要有設計數(shù)據(jù)處理的方法,還要闡明數(shù)據(jù)在存儲器上的存儲地址。在這一管理方式下,用戶的應用程序與數(shù)據(jù)相互結合不可分割,當數(shù)據(jù)有所變動時程序則隨之改變,獨立性差;另外,各程序之間的數(shù)據(jù)不能相互傳遞,缺少共享性,因而這種管理方式既不靈活,也不安全,編程效率低下。文件管理是利用文件系統(tǒng)管理軟件把有關的數(shù)據(jù)組織成一個數(shù)據(jù)文件,并長期地保存在外存儲器上,這種數(shù)據(jù)文件可以脫離程序而獨立存在,由一個專門的文件管理系統(tǒng)實施統(tǒng)一管理。文件管理系統(tǒng)是一個獨立的系統(tǒng)軟件,是應用程序與數(shù)據(jù)文件之間的一個接口。在這一管理方式下,應用程序通過文件管理系統(tǒng)對數(shù)據(jù)文件中的數(shù)據(jù)進行加工處理。應用程序與數(shù)據(jù)之間具有一定的獨立性。但數(shù)據(jù)文件仍高度依賴于與其對應的特定程序,不能被多個程序通用,由于數(shù)據(jù)文件之間不能建立任何聯(lián)系,因而數(shù)據(jù)的通用性仍然較差,冗余量大。數(shù)據(jù)庫系統(tǒng)管理是通過數(shù)據(jù)庫管理系統(tǒng)軟件對所用的數(shù)據(jù)實行統(tǒng)一規(guī)劃管理,形成一個數(shù)據(jù)中心,構成一個數(shù)據(jù)“倉庫”,在這個數(shù)據(jù)庫中的數(shù)據(jù)能夠滿足不同用戶的要求,供不同用戶共享。在這一管理方式下,應用程序不再只與一個孤立的數(shù)據(jù)文件相對應,可以取整體數(shù)據(jù)集的某個子集作為邏輯文件與其對應,通過數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)邏輯文件與物理數(shù)據(jù)之間的協(xié)調與互動,從而實現(xiàn)數(shù)據(jù)處理。在數(shù)據(jù)庫系統(tǒng)管理的系統(tǒng)環(huán)境下,應用程序對數(shù)據(jù)管理和訪問靈活方便,而且數(shù)據(jù)與應用程序之間完全獨立,使程序的編制質量和效率都有所提高。由于數(shù)據(jù)庫文件中的各數(shù)據(jù)子集間可以建立關聯(lián)關系,所以數(shù)據(jù)的冗余大大減少,數(shù)據(jù)共享性顯著增強。1.1.3數(shù)學模型現(xiàn)實世界中的客觀事物是彼此相互聯(lián)系的。一方面,某一事物內部的諸因素和諸屬性根據(jù)一定的組織原則相互具有聯(lián)系,構成一個相對獨立的系統(tǒng);另一方面,某一事物同時也作為一個更大系統(tǒng)的一個因素或一種屬性而存在,并與系統(tǒng)的其他因素或屬性發(fā)生聯(lián)系??陀^事物的這種普遍聯(lián)系性決定了作為事物屬性記錄符號的數(shù)據(jù)與數(shù)據(jù)之間也存在著一定的聯(lián)系性。具有聯(lián)系性的相關數(shù)據(jù)總是按照一定的組織關系排列,從而構成一定的結構,對這種結構的描述就是數(shù)學模型。數(shù)學模型是數(shù)據(jù)庫系統(tǒng)的核心,它規(guī)范了數(shù)據(jù)庫中數(shù)據(jù)的組織形式,表示了數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系。數(shù)學模型的好壞直接影響數(shù)據(jù)庫的性能。支持數(shù)據(jù)庫系統(tǒng)的常用的數(shù)學模型有層次模型(hierarchicalmodel)、網狀模型(networkmodel)、關系模型(relationalmodel)及面向對象模型(objectorientedmodel)。層次模型和網狀模型是早期的數(shù)學模型,已逐漸退出市場。由于關系模型有更為簡單靈活的特點,因此目前流行的數(shù)據(jù)庫軟件大多使用關系模型。但是,隨著信息的大量傳播,現(xiàn)實生活中存在許多更復雜的數(shù)據(jù)結構和應用領域,對這些復雜的數(shù)據(jù)的處理,使用關系模型較為困難,因此產生了面向對象數(shù)學模型。面向對象數(shù)學模型是正在發(fā)展中的具有廣泛應用開發(fā)價值的模型,目前在此基礎上建立的數(shù)據(jù)庫大都是實驗性的。當前社會最為流行的數(shù)據(jù)庫軟件產品,大多數(shù)是在關系模型基礎上發(fā)展起來的數(shù)據(jù)庫管理系統(tǒng)。1.1.4關系模型關系模型(relationalmodel)是用二維表的邏輯結構來表示數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系。關系模型的所謂“關系”是特指那種雖具有相關性,而非從屬性的平行的數(shù)據(jù)之間按照某種序列排列的集合關系。例如有一組數(shù)據(jù)如下:1,甲,女,20歲2,乙,男,18歲3,丙,女,21歲4,丁,男,20歲這4組數(shù)據(jù)之間是平行的,互不從屬,但假如我們知道他們是同一個班級的學生,便可以構成某學校某班學生基本情況表,并建立一個關系。如表1-1所示。表1-1(書第4頁)表1-1中的數(shù)據(jù)雖然是平行的,不代表從屬關系,但卻構成了某學校某個班級的學生間的關系結構。同樣,如果我們假設上述4組數(shù)據(jù)不是來自同一個班級,而是來自不同的專業(yè)系,便可以構成某學校各專業(yè)學生基本情況表,又可以建立一個關系。如表1-2所示。表1-2(書第4頁)以上兩表所表現(xiàn)的都是關系模型。表格中的每一列數(shù)據(jù)都是獨立的數(shù)據(jù)項,它們共同構成了該關系的全部內容。表格中的每一行稱為一個記錄(record)。記錄用來表示關系模型中若干平行的、相對獨立的個體事物,每一記錄由若干數(shù)據(jù)項的值組成。表格中的每一列稱為一個字段(field)。字段是表示關系模型中具有某種屬性的一列數(shù)據(jù),一般在表格的第一行標示屬性類型的名稱,稱為字段名??傮w上說,以豎向的數(shù)據(jù)屬性分類的若干個記錄的集合,構成一個關系模型,稱為一個關系(relation)。在某種意義上關系模型就是一張二維表,用來描述客觀事物屬性的關系。關系模型有以下主要特點:(1)關系中每一數(shù)據(jù)項不可再分,是最基本的單位。(2)每一列數(shù)據(jù)項具有相同的類型,稱其為數(shù)據(jù)的屬性。列數(shù)根據(jù)需要而設,各列都有唯一的屬性名和對應的屬性值。(3)每一列的順序是任意的。(4)每一行數(shù)據(jù)是一個個體事物諸多屬性值的集合,稱其為記錄。(5)記錄的順序可以是任意的。(6)在一個關系中,不允許有相同的字段名,也不允許有相同的記錄行。1.1.5數(shù)據(jù)庫數(shù)據(jù)庫(database)是以一定的組織方式將相關的數(shù)據(jù)組織在一起存放在計算機外存儲器上,并能為多個用戶共享的、與應用程序彼此獨立的一組相關數(shù)據(jù)的集合。數(shù)據(jù)庫是數(shù)據(jù)庫應用系統(tǒng)的核心和管理對象。前面介紹的數(shù)學模型是對數(shù)據(jù)庫如何組織的一種模型表示,它不僅包括客觀事物本身的信息,還包括各事物間的聯(lián)系。數(shù)學模型的主要特征是數(shù)據(jù)結構,因此,確定了數(shù)學模型,就等于確定了數(shù)據(jù)間的關系,即數(shù)據(jù)庫的框架。有了數(shù)據(jù)間的關系框架,再把表示客觀事物具體特征的數(shù)據(jù)裝入框架中,就形成了數(shù)據(jù)庫。通俗地講,數(shù)據(jù)庫就是有條理、有組織、合理地存放大量數(shù)據(jù)的“數(shù)據(jù)倉庫”。數(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ù)庫。VisualFoxPro數(shù)據(jù)庫管理系統(tǒng)所創(chuàng)造的數(shù)據(jù)庫,是依照關系模型進行數(shù)據(jù)存儲的,因此稱其數(shù)據(jù)庫為關系數(shù)據(jù)庫。1.1.6關系數(shù)據(jù)庫

1.關系數(shù)據(jù)庫關系數(shù)據(jù)庫(relationdatabase)是若干個依照關系模型設計的若干關系的集合。也就是說,關系數(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ù)表都具有相對的獨立性,這一獨立性的唯一標志是數(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ù)表之間又具有相關性,這一特點使其具有很大的越性。2.關系數(shù)據(jù)庫的特點關系數(shù)據(jù)庫有以下主要特點:(1)關系數(shù)據(jù)庫以面向系統(tǒng)的觀點組織數(shù)據(jù),使數(shù)據(jù)具有最小的冗余度,支持復雜的數(shù)據(jù)結構。(2)關系數(shù)據(jù)庫具有高度的數(shù)據(jù)和程序的相互獨立性,使應用程序與數(shù)據(jù)的邏輯結構和數(shù)據(jù)的物理存儲方式無關。(3)關系數(shù)據(jù)庫中的數(shù)據(jù)由于具有共享性,使其能為多個用戶服務。(4)關系數(shù)據(jù)庫允許多個用戶訪問數(shù)據(jù)庫中的數(shù)據(jù),同時提供了各種控制功能,保證數(shù)據(jù)獲得安全性、完整性和并發(fā)性控制。其中,安全性控制可防止未經允許的用戶存取數(shù)據(jù);完整性控制可保證數(shù)據(jù)的正確性、有效性和相容性;并發(fā)性控制可防止多用戶并發(fā)訪問數(shù)據(jù)時由于相互干擾而產生的數(shù)據(jù)不一致。1.1.7關系模型的規(guī)范化原則數(shù)據(jù)怎樣存入關系數(shù)據(jù)庫是數(shù)據(jù)庫最重要的操作之一,也是應用程序開發(fā)的關鍵。通常,我們首先要把收集來的相關的數(shù)據(jù)存放到數(shù)據(jù)表中,在實際應用中,有許多相關的數(shù)據(jù)集合到一個數(shù)據(jù)表后,數(shù)據(jù)的關系會變得很復雜,數(shù)據(jù)表中的字段個數(shù)和數(shù)據(jù)的數(shù)量很大。很多時候為了使一個事物表達清楚,又不違背關系模型的理論,數(shù)據(jù)表中會有大量數(shù)據(jù)重復出現(xiàn)的現(xiàn)象。特別是在進行應用程序設計時,組織的數(shù)據(jù)表如不理想,輕者會大大增加編程和維護程序的難度,重者會使應用程序無法實現(xiàn)。一個組織良好的數(shù)據(jù)庫,不僅應該有利于方便地解決應用問題,而且還應為解決一些不可預測的問題帶來便利,同時要盡可能地降低編程的難度,這就要求數(shù)據(jù)庫中的數(shù)據(jù)一定要通過相應的約束條件實現(xiàn)數(shù)據(jù)規(guī)范化。1.數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化(datanormalization)理論認為,關系數(shù)據(jù)庫中的每一個關系都要滿足一定的規(guī)范。根據(jù)滿足規(guī)范的條件不同,可以劃分為五個等級,分別稱為第一范式(1NF),第二范式(2NF),……,第五范式(5NF),其中,NF是(normalform)的縮寫。需要特別指出的是,在實際操作中,不是數(shù)據(jù)規(guī)范的等級越高就越好,具體問題還要具體分析。在解決一般性問題時,通常只要把數(shù)據(jù)規(guī)范到第三個范式標準就可以滿足需要。關系模型數(shù)據(jù)規(guī)范化的原則如下:(1)第一范式:在一個關系中,要滿足關系模型的基本性質,消除重復字段,且各字段都是不可分的基本數(shù)據(jù)項。(2)第二范式:若關系模型屬于第一范式,則關系中每一個字段都完全依賴于主關鍵字段。(3)第三范式:若關系模型屬于第二范式,且關系中所有非主關鍵字段都直接依賴于主關鍵字段。數(shù)據(jù)規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴關系中不合適的部分,使含有不完全依賴或函數(shù)依賴的數(shù)學模型的數(shù)據(jù)達到有效的分離。例1.1有某高校的人事檔案管理信息表,如表1-3所示。表1-3(書第7頁)它沒有滿足關系模型的性質,不是一種關系二維表的形式,用戶要根據(jù)關系模型規(guī)范化,在保護原有信息內容的基礎上,規(guī)范這組信息,使其滿足關系模型的性質。根據(jù)數(shù)據(jù)規(guī)范化原則和關系模型的性質,我們可以將表1-3修改成如表1-4所示的形式。表1-4(書第7頁)例1.2某旅行社組團信息表如表1-5所示。表1-5(書第7頁)從表1-5不難看出,它是不符合數(shù)據(jù)規(guī)范化原則的。為了方便、有效地使用這些信息資源,我們可以根據(jù)數(shù)據(jù)規(guī)范化原則,規(guī)范這些信息資源。一種方法是將表1-5分成兩個獨立的數(shù)據(jù)表,如表1-6和表1-7。每一個數(shù)據(jù)表都具有獨立的屬性,同時又依賴于共同的關鍵字段“團隊編號”,使這些數(shù)據(jù)表間保持一定的關聯(lián)關系,且兩個數(shù)據(jù)表中的數(shù)據(jù)又能體現(xiàn)表1-5中的全部信息。兩個獨立的數(shù)據(jù)表的內容如下。表1-6為團隊基本情況一覽表,表1-7為某團隊團員基本情況一覽表。表1-6(書第8頁)表1-7(書第8頁)表1-6和表1-7兩個表中的數(shù)據(jù),包含了表1-5中所有的信息。可以看出,若將這些數(shù)據(jù)集中在一個表中(表1-5),則表中數(shù)據(jù)的結構十分復雜,有許多數(shù)據(jù)重復出現(xiàn),造成數(shù)據(jù)的冗余,這必然導致數(shù)據(jù)存儲空間的浪費,使數(shù)據(jù)的輸入、查找和修改更加麻煩。相反,我們遵循數(shù)據(jù)規(guī)范化的準則,建立多個相互關聯(lián)的數(shù)據(jù)表,并讓這些分開的數(shù)據(jù)表依靠關鍵字段保持一定的關聯(lián)關系,就可以有效地改進上述缺點。例1.3某旅行社業(yè)務管理信息系統(tǒng)數(shù)據(jù)庫設計。對于一個旅行社業(yè)務管理單位來說,如果想在表1-6和表1-7提供的數(shù)據(jù)管理基礎上,進一步擴大業(yè)務范圍,就要不斷地開發(fā)數(shù)據(jù)資源的類型、范圍和潛力,增強數(shù)據(jù)處理的能力?;谶@一點,我們可以把某旅行社業(yè)務管理信息系統(tǒng)數(shù)據(jù)庫,設計成為含多數(shù)據(jù)表的數(shù)據(jù)庫,并使各數(shù)據(jù)表之間通過對應的字段建立關聯(lián)關系,使其既具有獨立性,又有其關聯(lián)性。表1-8為旅行社團隊組建業(yè)務管理信息。表1-8(見書第8頁)表1-9為旅行社團隊行程業(yè)務管理信息。表1-9(見書第8頁)表1-10為旅行社旅游路線相關信息。表1-10(見書第9頁)表1-11為旅行社旅游團員的相關信息。表1-11(見書第9頁)從以上各數(shù)據(jù)表中,我們可以獲取不同的數(shù)據(jù)信息,并用于相關的業(yè)務管理。由于旅行社內部的各種業(yè)務是相互聯(lián)系的,作為一個管理者就更需要綜合、全面地進行信息處理,而數(shù)據(jù)庫管理系統(tǒng)環(huán)境給我們提供了這樣的便利。我們可將這些相關聯(lián)的數(shù)據(jù)表存儲在同一個數(shù)據(jù)庫中(見圖1.1),并保持一定的關聯(lián)關系,一個旅行社業(yè)務管理數(shù)據(jù)庫就建立起來了。使用時如同一個數(shù)據(jù)表一樣,對數(shù)據(jù)進行操作非常方便。圖1.12.數(shù)據(jù)表之間的關聯(lián)關系從理論上講,把這些依賴于關系模型建立的數(shù)據(jù)表組織在一起,可以反映客觀事物數(shù)據(jù)間的多種對應關系。一般情況下,在同一個數(shù)據(jù)庫中,相關聯(lián)的數(shù)據(jù)表之間的關系有一對一、一對多、多對一和多對多的關系。(1)一對一關系一對一關系,即在兩個數(shù)據(jù)表中選一個相同字段作為關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表中的關鍵字段稱為原始關鍵字段,該字段值是唯一的,而另一個數(shù)據(jù)表中的關鍵字段稱為外來關鍵字段,該字段值也是唯一的。在例1.3中,如果通過“團隊編號”這一相同字段,將表1-8與表1-9兩表建立關聯(lián)關系,把表1-8中的“團隊編號”視為原始關鍵字段(該字段值是唯一的),表1-9中的“團隊編號”視為外來關鍵字段(該字段值也是唯一的),兩個數(shù)據(jù)表便構成了一對一的關系。如圖1.2所示。圖1.2(2)一對多關系一對多關系,即在兩個數(shù)據(jù)表中選一個相同的字段作為關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表的關鍵字段稱為原始關鍵字段,該字段值是唯一的,而把另一個數(shù)據(jù)表中的關鍵字段稱為外來關鍵字段,該字段值是重復的。在例1.2中,如果通過“團隊編號”這一相同字段,將表1-6與表1-7兩表建立關聯(lián)關系,表1-6中的“團隊編號”視為原始關鍵字段(該字段值是唯一的),而表1-7中的“團隊編號”視為外來關鍵字段(該字段值是重復的),兩個表便構成了一對多的關系。如圖1.3所示。圖1.3在例1.3中,如果通過“團隊編號”這一相同字段,將表1-9與表1-11兩表建立關聯(lián)關系,表1-9中的“團隊編號”視為原始關鍵字段,而表1-11中的“團隊編號”視為外來關鍵字段,兩個表便構成了一對多的關系。如圖1.4所示。圖1.4在例1.3中,如果通過“路線編號”這一相同字段,將表1-10與表1-9兩表建立關聯(lián)關系,表1-10中與表1-9兩個表便構成了一對多的關系。如圖1.5所示。圖1.5從上面的例子可以得知,把一個復雜的表分成一對多的關系,盡管重復還存在,但僅僅是外來關鍵字段的重復,這就大大減少了數(shù)據(jù)輸入及數(shù)據(jù)存儲的復雜性。(3)多對一關系多對一關系與一對多關系是類似的,唯一的區(qū)別是在兩個相關聯(lián)的數(shù)據(jù)表中,先選擇哪一個數(shù)據(jù)表中的關鍵字段為原始關鍵字段,該字段值是重復的,而與它關聯(lián)的另一個數(shù)據(jù)表中的關鍵字段稱為外來關鍵字段,該字段值是唯一的。在例1.3中,如果把表1-9中的“路線編號”視為原始關鍵字段(該字段值是重復的),而表1-10中的“路線編號”視為外來關鍵字段(該字段值是唯一的),表1-9與表1-10兩表間便構成了多對一的關系。如圖1.6所示。圖1.6(4)多對多關系多對多關系,即在兩個數(shù)據(jù)表中選一個相同字段作為關聯(lián)關鍵字段,把其中一個數(shù)據(jù)表關鍵字段視為原始關鍵字段,該字段值是重復的,而把另一個數(shù)據(jù)表中的關鍵字段視為外來關鍵字段,該字段值也是重復的,這樣兩個數(shù)據(jù)表間就有了多對多的關系。通常處理數(shù)據(jù)表間多對多的關系,是把多對多的關系化解分成兩個多對一或兩個一對多的關系進行操作。通過上面對數(shù)據(jù)規(guī)范化和數(shù)據(jù)表間關系建立的觀點闡述,可以得知,在數(shù)據(jù)規(guī)范化原則指導下,既可以把復雜問題簡單化,綜合問題個體化,同樣也可以把個體問題綜合化。這樣可以大大提高數(shù)據(jù)的使用率,同時為系統(tǒng)程序設計提供了很大的方便。1.2數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的核心和管理對象。數(shù)據(jù)庫中數(shù)據(jù)的存儲、維護以及為應用系統(tǒng)提供數(shù)據(jù)支持,都是在數(shù)據(jù)庫系統(tǒng)(databasesystem)環(huán)境下運行完成的。這一節(jié)將介紹有關數(shù)據(jù)庫系統(tǒng)的一些相關內容。

1.2.1數(shù)據(jù)庫系統(tǒng)的體系結構所謂數(shù)據(jù)庫系統(tǒng)的體系結構,就是數(shù)據(jù)庫系統(tǒng)的總體框架。盡管實際數(shù)據(jù)庫系統(tǒng)的軟件產品多種多樣,并且支持不同的數(shù)學模型,不同的數(shù)據(jù)庫語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結構也各不相同,但絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)在總的體系結構上具有三級模型的結構特征。從數(shù)據(jù)管理的角度看,與數(shù)據(jù)庫打交道的有三類人員:用戶、應用程序員和系統(tǒng)程序員。由于他們對數(shù)據(jù)庫的認識、理解和接觸范圍各不相同,從而形成了各自的數(shù)據(jù)庫視圖,所謂視圖是指其觀察、認識和理解數(shù)據(jù)的范圍、角度和方法。根據(jù)各類人員與數(shù)據(jù)庫的不同關系,可把視圖分為三種:即對應于用戶的外部視圖,對應于應用程序員的概念視圖,對應于系統(tǒng)程序員的內部視圖。由此形成數(shù)據(jù)庫系統(tǒng)的三級模式結構:外模式、概念模式和內模式。如圖1.7所示。圖1.7外模式又稱子模式或用戶模式,對應于用戶級,是某個或幾個數(shù)據(jù)庫用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖。外模式是從概念模式導出的子模式,用戶可以通過子模式描述語言來描述用戶級數(shù)據(jù)庫的記錄,還可以利用數(shù)據(jù)操縱語言對這些記錄進行操作。概念模式又稱邏輯模式,對應于概念級,它是由數(shù)據(jù)庫設計者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點構造的全局邏輯結構,是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結構和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖。它是用概念模式描述語言來描述的,是應用程序員的數(shù)據(jù)視圖。內模式又稱存儲模式,對應于物理級,是全體數(shù)據(jù)庫數(shù)據(jù)的內部表示或底層描述,是真正存放在外存儲器上的數(shù)據(jù)庫,它描述了數(shù)據(jù)在存儲介質上的存儲方式與物理結構。數(shù)據(jù)庫系統(tǒng)的三級模式是數(shù)據(jù)的三個抽象級別,使用戶能夠邏輯地、抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的表示和存儲。為了實現(xiàn)三個抽象層次間的聯(lián)系和轉換,數(shù)據(jù)庫系統(tǒng)在三個模式間提供了兩級映射:外模式與概念模式間的映射、概念模式與內模式間的映射。1.2.2數(shù)據(jù)庫管理系統(tǒng)從信息處理的理論角度講,如果把利用數(shù)據(jù)庫進行信息處理的工作過程,或把掌握、管理和操縱數(shù)據(jù)庫的數(shù)據(jù)資源的方法看作是一個系統(tǒng),則稱這個系統(tǒng)為數(shù)據(jù)庫管理系統(tǒng)(databasemanagementsystem,簡稱DBMS)。數(shù)據(jù)庫管理系統(tǒng)提供對數(shù)據(jù)庫資源進行統(tǒng)一管理和控制的功能,使數(shù)據(jù)與應用程序隔離,數(shù)據(jù)具有獨立性。它可以使數(shù)據(jù)結構及數(shù)據(jù)存儲具有一定的規(guī)范性,減少了數(shù)據(jù)的冗余,并有利于數(shù)據(jù)共享。它提供了安全性和保密性措施,使數(shù)據(jù)不被破壞和竊用。數(shù)據(jù)庫管理系統(tǒng)通常由三個部分組成:數(shù)據(jù)描述語言(DDL)及其編譯程序、數(shù)據(jù)操縱語言(DML)或查詢語言及其編譯或解釋程序、數(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ù)庫管理系統(tǒng)的核心部分,包括并發(fā)控制、存取控制、完整性條件檢查與執(zhí)行、數(shù)據(jù)庫內部維護等,數(shù)據(jù)庫的所有操作都在上述控制程序的統(tǒng)一管理下進行,以確保數(shù)據(jù)的正確有效。1.2.3數(shù)據(jù)庫應用系統(tǒng)的構成數(shù)據(jù)庫應用系統(tǒng)(簡稱數(shù)據(jù)庫系統(tǒng))是指引進了數(shù)據(jù)庫技術后的整個計算機系統(tǒng),是由硬件系統(tǒng)、軟件系統(tǒng)、數(shù)據(jù)資源和計算機操作人員四個部分組成,為用戶提供信息服務的系統(tǒng)。硬件系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的物理設備支撐,包括CPU、內存、外存及輸入/輸出設備。由于數(shù)據(jù)庫系統(tǒng)承擔著數(shù)據(jù)管理的任務,它要在操作系統(tǒng)的支持下工作,而且本身包含著數(shù)據(jù)庫管理例行程序、應用程序等,因此要求有足夠大的內存空間。同時,由于用戶的數(shù)據(jù)資源、系統(tǒng)軟件和應用軟件都要保存在外存儲器上,所以對外存容量的要求很高。軟件系統(tǒng)包括系統(tǒng)軟件和應用軟件兩類。系統(tǒng)軟件主要包括支持數(shù)據(jù)庫管理系統(tǒng)運行的操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、開發(fā)應用系統(tǒng)的高級語言及其編譯系統(tǒng)、應用系統(tǒng)開發(fā)的工具軟件等,是開發(fā)應用系統(tǒng)必要環(huán)境。其中數(shù)據(jù)庫管理系統(tǒng)是連接數(shù)據(jù)庫和用戶之間的紐帶,是軟件系統(tǒng)的核心。應用軟件是指在數(shù)據(jù)庫管理系統(tǒng)的基礎上由用戶根據(jù)自己的實際需要自行開發(fā)的應用程序。數(shù)據(jù)資源是數(shù)據(jù)庫系統(tǒng)的管理對象,是為用戶提供數(shù)據(jù)的信息源。計算機操作人員是指管理、開發(fā)和使用數(shù)據(jù)庫系統(tǒng)的全部人員,主要包括數(shù)據(jù)庫管理員、系統(tǒng)分析員、應用程序員和用戶。其中不同的人員涉及不同的數(shù)據(jù)抽象級別,數(shù)據(jù)庫管理員負責管理和控制數(shù)據(jù)庫系統(tǒng);系統(tǒng)分析員負責應用系統(tǒng)的需求分析和規(guī)范說明,確定系統(tǒng)的軟硬件配置、系統(tǒng)的功能及數(shù)據(jù)庫概念設計;應用程序員負責設計應用系統(tǒng)的程序模塊,根據(jù)數(shù)據(jù)庫的外模式來編寫應用程序;最終用戶通過應用系統(tǒng)提供的用戶接口界面使用數(shù)據(jù)庫,常用的接口方式有菜單驅動、圖形顯示、表格操作等。1.3VisualFoxPro數(shù)據(jù)庫管理系統(tǒng)VisualFoxPro6.0數(shù)據(jù)庫管理系統(tǒng)是一個關系數(shù)據(jù)庫管理系統(tǒng)軟件,是xBASE系列軟件中的佼佼者,它在流行的xBASE系統(tǒng)軟件的基礎上提供了諸多新功能,技術有所超越,大大改善了計算機用戶環(huán)境,對數(shù)據(jù)的組織、數(shù)據(jù)庫的建立及應用系統(tǒng)的開發(fā)更為方便,受到眾多用戶的青睞。VisualFoxPro6.0系統(tǒng)提供了一個由菜單驅動、輔以命令對話窗口的簡潔友好、功能全面的用戶界面。用戶可以通過輸入命令或使用菜單,實現(xiàn)對VisualFoxPro的各種功能的操作,完成數(shù)據(jù)管理的任務。VisualFoxPro6.0系統(tǒng)的輸入/輸出接口界面允許采用窗口方式,用戶可以通過系統(tǒng)提供的不同類型的系統(tǒng)窗口完成各種操作,而且有些窗口之間可以互相切換,大大方便了用戶。除系統(tǒng)提供的操作窗口外,用戶還可根據(jù)自己的需求設計工作窗口。VisualFoxPro6.0系統(tǒng)提供了豐富多樣的可視化工具,使得剪接、刪除、拷貝、粘貼、字符串查找和替換、取消、恢復等編輯操作方便快捷,為程序或文本的編輯提供了方便靈活的操作手段。VisualFoxPro6.0系統(tǒng)提供了完整的顏色支持,除使用命令設置顏色外,還可以利用調色板以人機對話方式對菜單、窗口、對話框、錯誤信息和其他接口界面的色彩實施控制。VisualFoxPr

溫馨提示

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

最新文檔

評論

0/150

提交評論