計算機(jī)二級VF資料課件_第1頁
計算機(jī)二級VF資料課件_第2頁
計算機(jī)二級VF資料課件_第3頁
計算機(jī)二級VF資料課件_第4頁
計算機(jī)二級VF資料課件_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1VisualFoxPro

面向?qū)ο?/p>

實用教程2第一章數(shù)據(jù)庫基本理論1.1數(shù)據(jù)、信息和數(shù)據(jù)處理1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.3數(shù)據(jù)庫系統(tǒng)基本概念1.4數(shù)據(jù)模型1.5關(guān)系數(shù)據(jù)庫基礎(chǔ)知識3VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案

本章主要介紹信息、數(shù)據(jù)、數(shù)據(jù)處理、數(shù)據(jù)模型的基本概念,著重介紹數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)的功能、組成和相互關(guān)系,以及關(guān)系數(shù)據(jù)庫的三種關(guān)系運算和關(guān)系表中的記錄、字段、關(guān)鍵字段、關(guān)系模型等概念。1.1數(shù)據(jù)、信息和數(shù)據(jù)處理數(shù)據(jù)與信息1.?dāng)?shù)據(jù)數(shù)據(jù)是對客觀事物記錄下來的事實,是描述或表達(dá)信息的物理形式。在計算機(jī)領(lǐng)域,凡能為計算機(jī)所接受和處理的物理形式,例如字符、數(shù)字、圖形、圖像、聲音等都可稱之為數(shù)據(jù)。因此,數(shù)據(jù)泛指一切可被計算機(jī)接受和處理的符號。數(shù)據(jù)可分為數(shù)值型數(shù)據(jù)(如產(chǎn)量、價格、成績等)和非數(shù)值型數(shù)據(jù)(如人名、日期、文章、聲音、圖形、圖像等)。數(shù)據(jù)可以被收集、存儲、處理(加工、分類、計算等)、傳播和使用。

5因為有些信息本身就是數(shù)據(jù)化的,數(shù)據(jù)本身又是一種信息。因此,在多數(shù)情況下不對它們進(jìn)行區(qū)分,計算機(jī)進(jìn)行數(shù)據(jù)交換也可以說是信息交換,數(shù)據(jù)處理也意指信息處理??傊?,信息是反映客觀現(xiàn)實世界的知識,數(shù)據(jù)是信息的具體表現(xiàn)形式,數(shù)據(jù)經(jīng)過加工處理后使其具有知識性并對人類活動產(chǎn)生有意義的決策作用。1.1.2數(shù)據(jù)處理數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程。數(shù)據(jù)處理主要包括對數(shù)據(jù)的收集、分類、排序、存儲、計算、加工、檢索、傳輸和制表等處理過程,經(jīng)過處理提煉的數(shù)據(jù)能夠反映事物或過程的本質(zhì)和內(nèi)在聯(lián)系,為我們工作和決策提供必要的信息基礎(chǔ)和依據(jù),輸出有價值、有意義的信息。

VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案61.2數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)庫(DataBase,簡寫為DB)技術(shù)是20世紀(jì)60年代末出現(xiàn)的以計算機(jī)技術(shù)為基礎(chǔ)的數(shù)據(jù)處理技術(shù)。數(shù)據(jù)處理的核心問題是數(shù)據(jù)管理。數(shù)據(jù)管理指的是對數(shù)據(jù)進(jìn)行組織、編碼、分類、存儲、檢索與維護(hù)等操作。隨著計算機(jī)硬件技術(shù)和軟件技術(shù)的發(fā)展和進(jìn)步,計算機(jī)數(shù)據(jù)管理的水平不斷提高,管理方式也發(fā)生了很大的變化。發(fā)展到現(xiàn)在,數(shù)據(jù)管理經(jīng)歷了人工管理、文件管理和數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,簡寫為DBS)三個階段。

.2.1人工管理階段人工管理階段起始于20世紀(jì)50年代。當(dāng)時計算機(jī)的存儲設(shè)備沒有磁盤,數(shù)據(jù)只能存放于卡片、紙帶上。在軟件方面,也沒有專門的管理數(shù)據(jù)的文件,數(shù)據(jù)由計算數(shù)據(jù)的程序攜帶。VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案7VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案在人工管理階段對數(shù)據(jù)的管理存在的主要問題是:①數(shù)據(jù)不能獨立,編寫的程序是針對程序中攜帶的數(shù)據(jù),當(dāng)數(shù)據(jù)修改時程序也得修改。而程序修改后,數(shù)據(jù)的格式、類型也得變化以適應(yīng)處理它的程序。②數(shù)據(jù)不能長期保存,數(shù)據(jù)被包含在程序中。程序運行結(jié)束后,數(shù)據(jù)和程序一起從內(nèi)存中釋放。③沒有對數(shù)據(jù)管理的軟件,即當(dāng)時還沒有開發(fā)專門進(jìn)行數(shù)據(jù)管理的軟件。人工管理階段不僅要設(shè)計數(shù)據(jù)的處理方法,而且還要說明數(shù)據(jù)在存儲器的存儲地址。應(yīng)用程序和數(shù)據(jù)是一一對應(yīng)的,各程序之間的數(shù)據(jù)不能相互傳遞,數(shù)據(jù)不能重復(fù)使用。1.2.2文件管理階段在20世紀(jì)60年代,計算機(jī)軟、硬件技術(shù)得到快速發(fā)展,硬件有了磁盤、磁鼓等大容量且能長期保存數(shù)據(jù)的存儲設(shè)備,軟件有了操作系統(tǒng)。操作系統(tǒng)中有專門的文件系統(tǒng)用于管理外部存儲器上的數(shù)據(jù)文件,數(shù)據(jù)與程序分開,數(shù)據(jù)能長期保存。9VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案由于文件系統(tǒng)管理數(shù)據(jù)的缺陷,迫切需要新的數(shù)據(jù)管理方式,把數(shù)據(jù)組成合理結(jié)構(gòu),能集中、統(tǒng)一地進(jìn)行管理。數(shù)據(jù)庫技術(shù)開始于20世紀(jì)60年代末,在美國產(chǎn)生了具有商業(yè)價值的數(shù)據(jù)庫系統(tǒng),20世紀(jì)80年代隨著微型機(jī)的普遍應(yīng)用和數(shù)據(jù)庫系統(tǒng)的不斷完善,數(shù)據(jù)庫系統(tǒng)在世界范圍內(nèi)得到了廣泛的應(yīng)用。數(shù)據(jù)庫系統(tǒng)是將所有的數(shù)據(jù)集中到一個數(shù)據(jù)庫中,形成一個數(shù)據(jù)中心,實行統(tǒng)一規(guī)劃,集中管理,用戶通過數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡寫為DBMS)來使用數(shù)據(jù)庫中的數(shù)據(jù)。1.?dāng)?shù)據(jù)庫系統(tǒng)的主要特點①實現(xiàn)了數(shù)據(jù)的結(jié)構(gòu)化:在數(shù)據(jù)庫中采用了特定的數(shù)據(jù)模型組織數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)把數(shù)據(jù)存儲于有一定結(jié)構(gòu)的數(shù)據(jù)庫文件中,實現(xiàn)了數(shù)據(jù)的獨立和集中管理,克服了人工管理和文件系統(tǒng)管理的缺陷,大大方便了用戶的使用,提高了數(shù)據(jù)管理的效率。10VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案②實現(xiàn)了數(shù)據(jù)的共享:數(shù)據(jù)庫中的數(shù)據(jù)能為多個用戶服務(wù)。③實現(xiàn)了數(shù)據(jù)的獨立:用戶的應(yīng)用程序與數(shù)據(jù)的邏輯結(jié)構(gòu)及數(shù)據(jù)的物理存儲方式無關(guān)。④實現(xiàn)了數(shù)據(jù)的統(tǒng)一控制:數(shù)據(jù)庫系統(tǒng)提供了各種控制功能,保證了數(shù)據(jù)的并發(fā)控制、安全性和完整性。數(shù)據(jù)庫作為多個用戶和應(yīng)用程序的共享資源,允許多個用戶同時訪問。并發(fā)控制可以防止多用戶并發(fā)訪問數(shù)據(jù)時而產(chǎn)生的數(shù)據(jù)不一致性。安全性可以防止非法用戶存取數(shù)據(jù),完整性可以保證數(shù)據(jù)的正確性和有效性。在數(shù)據(jù)庫系統(tǒng)階段,應(yīng)用程序和數(shù)據(jù)完全獨立,應(yīng)用程序?qū)?shù)據(jù)管理和訪問更加靈活,一個數(shù)據(jù)庫可以為多個應(yīng)用程序共享,使得程序的編制和效率大大提高,減少了數(shù)據(jù)的冗余度,實現(xiàn)數(shù)據(jù)資源共享,提高了數(shù)據(jù)的完整性、一致性以及數(shù)據(jù)的管理效率。

11VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案2.?dāng)?shù)據(jù)庫系統(tǒng)的分類數(shù)據(jù)庫系統(tǒng)的分類有多種形式,按數(shù)據(jù)的存放地點,數(shù)據(jù)庫系統(tǒng)分為集中式數(shù)據(jù)庫系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)。

(1)集中式數(shù)據(jù)庫系統(tǒng)集中式數(shù)據(jù)庫系統(tǒng)是將數(shù)據(jù)集中在一個數(shù)據(jù)庫中。數(shù)據(jù)在邏輯上和物理上都是集中存放的。所有的用戶在存取和訪問數(shù)據(jù)時,都要訪問這個數(shù)據(jù)庫。例如,一個銀行儲蓄系統(tǒng),如果系統(tǒng)的數(shù)據(jù)存放在一個集中式數(shù)據(jù)庫中,所有的儲戶在存款和取款時都要訪問這個數(shù)據(jù)庫。這種方式訪問方便,但通信量大,速度慢。13VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案1.3數(shù)據(jù)庫系統(tǒng)基本概念1.3.1數(shù)據(jù)庫數(shù)據(jù)庫是按一定的組織形式存儲在一起的相互關(guān)聯(lián)的數(shù)據(jù)集合。實際上,數(shù)據(jù)庫就是一個存放大量業(yè)務(wù)數(shù)據(jù)的場所,其中的數(shù)據(jù)具有特定的組織結(jié)構(gòu)。所謂“組織結(jié)構(gòu)”,是指數(shù)據(jù)庫中的數(shù)據(jù)不是分散的、孤立的,而是按照某種數(shù)據(jù)模型組織起來的,不僅數(shù)據(jù)記錄內(nèi)的數(shù)據(jù)之間是彼此相關(guān)的,數(shù)據(jù)記錄之間在結(jié)構(gòu)上也是有機(jī)地聯(lián)系在一起的。數(shù)據(jù)庫具有數(shù)據(jù)的結(jié)構(gòu)化、獨立性、共享性、冗余量小、安全性、完整性和并發(fā)控制等基本特點。1.3.2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)是一種負(fù)責(zé)數(shù)據(jù)庫的定義、建立、操縱、管理、維護(hù)的軟件系統(tǒng),是數(shù)據(jù)庫系統(tǒng)的核心部分。14VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案數(shù)據(jù)庫管理系統(tǒng)是在操作系統(tǒng)的支持下進(jìn)行工作的,它實現(xiàn)了對數(shù)據(jù)庫資源進(jìn)行統(tǒng)一管理和控制,使數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)存儲具有一定的規(guī)范性,提高數(shù)據(jù)庫應(yīng)用的簡明性和方便性。DBMS為用戶管理數(shù)據(jù)提供了一整套命令,利用這些命令可以實現(xiàn)對數(shù)據(jù)庫的各種操作,如數(shù)據(jù)結(jié)構(gòu)的定義,數(shù)據(jù)的輸入、輸出、編輯、刪除、更新、統(tǒng)計、瀏覽等。數(shù)據(jù)庫管理系統(tǒng)通常由以下幾個部分組成:①提供了數(shù)據(jù)定義語言DDL(DataDefinitionLanguage)及其編譯和解釋程序——主要是用于定義數(shù)據(jù)庫的結(jié)構(gòu)。②數(shù)據(jù)操縱語言DML(DataManipulationLanguage)或查詢語言——提供了對數(shù)據(jù)庫中的數(shù)據(jù)存取、檢索、統(tǒng)計、修改、刪除、輸入、輸出等基本操作。③數(shù)據(jù)庫運行管理和控制例行程序,是數(shù)據(jù)庫管理系統(tǒng)的核心部分——用于數(shù)據(jù)的安全性控制、完整性控制、并發(fā)控制、通信控制、數(shù)據(jù)存取、數(shù)據(jù)庫轉(zhuǎn)儲、數(shù)據(jù)庫初始裝入、數(shù)據(jù)庫恢復(fù)、數(shù)據(jù)庫的內(nèi)部維護(hù)等,這些操作都是在該程序控制和統(tǒng)一管理下進(jìn)行的。15VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案④數(shù)據(jù)字典DD(DataDictionary)——提供了對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理規(guī)則,對數(shù)據(jù)庫的使用和操作可以通過查閱數(shù)據(jù)字典來進(jìn)行。1.3.3數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)是指計算機(jī)系統(tǒng)引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成,是一個具有管理數(shù)據(jù)庫功能的計算機(jī)軟硬件綜合系統(tǒng)。具體地說,它主要包括計算機(jī)硬件、操作系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和建立在該數(shù)據(jù)庫之上的相關(guān)軟件、數(shù)據(jù)庫管理員和用戶等組成部分。數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)的結(jié)構(gòu)化、共享性、獨立性、可控冗余度以及數(shù)據(jù)的安全性、完整性和并發(fā)控制等特點。①硬件系統(tǒng):是數(shù)據(jù)庫系統(tǒng)的物理支持,包括主機(jī)、鍵盤、顯示器、外存儲器、輸入輸出設(shè)備等。

17VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案由于數(shù)據(jù)庫的數(shù)據(jù)要供不同的應(yīng)用程序共享,因此在設(shè)計應(yīng)用程序前首先要對數(shù)據(jù)庫進(jìn)行設(shè)計,數(shù)據(jù)庫的設(shè)計是以“關(guān)系規(guī)范化”理論為指導(dǎo),按照實際應(yīng)用的報表數(shù)據(jù),首先定義數(shù)據(jù)的結(jié)構(gòu),包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的定義,然后輸入數(shù)據(jù)形成數(shù)據(jù)庫。開發(fā)應(yīng)用程序也可采用“功能分析,總體設(shè)計,模塊設(shè)計,編碼調(diào)試”的步驟實現(xiàn)。1.3.5數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)模式從數(shù)據(jù)庫管理系統(tǒng)的角度看,數(shù)據(jù)庫系統(tǒng)可分為三層,從外到內(nèi)依次為外模式、模式和內(nèi)模式。(1)模式模式也稱邏輯模式或概念模式,是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。一個數(shù)據(jù)庫只有一個模式。數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎(chǔ)。

18VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案模式是在數(shù)據(jù)庫模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序、應(yīng)用開發(fā)工具,以及高級程序設(shè)計語言無關(guān)。DBMS提供模式定義語言DDL來描述模式。定義模式時要定義數(shù)據(jù)的邏輯結(jié)構(gòu),包括記錄由哪些數(shù)據(jù)項構(gòu)成,數(shù)據(jù)項的名字、類型、取值范圍,數(shù)據(jù)之間的聯(lián)系,與數(shù)據(jù)有關(guān)的安全性、完整性要求等。(2)內(nèi)模式內(nèi)模式又稱為存儲模式,是數(shù)據(jù)庫物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。它規(guī)定數(shù)據(jù)在存儲介質(zhì)上的物理組織方式、記錄尋址技術(shù)、定義物理存儲塊的大小、溢出處理方法等。一個數(shù)據(jù)庫只有一個內(nèi)模式。(3)外模式外模式又稱子模式或用戶模式,是數(shù)據(jù)庫用戶和數(shù)據(jù)庫系統(tǒng)的接口,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是數(shù)據(jù)庫用戶可以看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。19VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案外模式通常是模式的子集。一個數(shù)據(jù)庫可以有多個外模式。同一個外模式可以被某一個用戶的多個應(yīng)用所使用,但一個應(yīng)用程序只有一個外模式。為了實現(xiàn)三個抽象級別的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在三層結(jié)構(gòu)之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。映像是一種對應(yīng)規(guī)則,指出映像雙方如何進(jìn)行轉(zhuǎn)換。數(shù)據(jù)庫的三級結(jié)構(gòu)靠映像聯(lián)結(jié)。①外模式/模式映像:定義外模式與模式之間的對應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)改變時,只需要修改外模式與模式之間的對應(yīng)關(guān)系,而不必修改局部邏輯結(jié)構(gòu),相應(yīng)的應(yīng)用程序也不必修改,可保持外模式不變,實現(xiàn)數(shù)據(jù)和程序的邏輯獨立性。②模式/內(nèi)模式映像:定義數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的物理存儲結(jié)構(gòu)改變時,只需要修改模式與內(nèi)模式之間的對應(yīng)關(guān)系,可保持模式不變,實現(xiàn)數(shù)據(jù)和程序的物理獨立性。

21VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體B有一對多聯(lián)系。多對多聯(lián)系(m∶n)──如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系。實體型之間的一對一、一對多、多對多聯(lián)系不僅存在于兩個實體型之間,也存在于兩個以上的實體型之間。同一個實體集內(nèi)的各實體之間也可以存在一對一、一對多、多對多的聯(lián)系,稱為自聯(lián)系。1.4.3常用數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)中用于提供信息表示和操作手段的結(jié)構(gòu)形式。簡單地說,數(shù)據(jù)模型是指數(shù)據(jù)庫的組織形式,它決定了數(shù)據(jù)庫中數(shù)據(jù)之間聯(lián)系的表達(dá)方式。

22VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案在數(shù)據(jù)庫系統(tǒng)設(shè)計時,數(shù)據(jù)庫的性質(zhì)是由系統(tǒng)支持的數(shù)據(jù)模型來決定的。不同的數(shù)據(jù)模型以不同的方式把數(shù)據(jù)組織到數(shù)據(jù)庫中。組織數(shù)據(jù)庫的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型、關(guān)系模型。如果數(shù)據(jù)庫中的數(shù)據(jù)是依照層次模型進(jìn)行存儲數(shù)據(jù),該數(shù)據(jù)庫就稱為層次數(shù)據(jù)庫;如果是依照網(wǎng)狀模型進(jìn)行存儲數(shù)據(jù),該數(shù)據(jù)庫就稱為網(wǎng)狀數(shù)據(jù)庫;如果是依照關(guān)系模型進(jìn)行存儲數(shù)據(jù),該數(shù)據(jù)庫就稱為關(guān)系數(shù)據(jù)庫。1.層次模型用樹形結(jié)構(gòu)表示實體及其之間聯(lián)系的模型稱為層次模型。層次模型是數(shù)據(jù)庫系統(tǒng)最早使用的一種模型。層次模型像一棵倒掛的樹,根結(jié)點在上,是最高層,子結(jié)點在下,逐層排列。例如學(xué)院中的行政機(jī)構(gòu)、企業(yè)中的部門編制等以及數(shù)據(jù)間的聯(lián)系都是層次模型。支持層次數(shù)據(jù)模型的數(shù)據(jù)庫管理系統(tǒng)稱為層次數(shù)據(jù)庫管理系統(tǒng)。

23VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案2.網(wǎng)狀模型網(wǎng)狀模型是一種比較復(fù)雜的數(shù)據(jù)模型,它是以網(wǎng)狀結(jié)構(gòu)表示實體與實體之間的聯(lián)系。網(wǎng)狀模型可以表示多個從屬關(guān)系的聯(lián)系,也可以表示數(shù)據(jù)間的交叉關(guān)系,即數(shù)據(jù)間的橫向關(guān)系與縱向關(guān)系,它是層次模型的擴(kuò)展。例如鐵路運行就是一個網(wǎng)狀模型。用于支持網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)庫管理系統(tǒng)稱為網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng)。

3.關(guān)系模型用二維表的形式表示實體和實體之間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。關(guān)系模型不像層次模型和網(wǎng)狀模型那樣使用大量的鏈接指針把有關(guān)數(shù)據(jù)集合到一起,而是用一張二維表來描述一個關(guān)系。關(guān)系模型是將數(shù)據(jù)組織看成一張二維關(guān)系表。用關(guān)系模型設(shè)計的數(shù)據(jù)庫就是關(guān)系型數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫中的每一個關(guān)系都是一個二維表。在二維表中,每一行稱為一個記錄,用于表示一組數(shù)據(jù)項,表中的每一列稱為一個字段或?qū)傩?,用于表示每列中的?shù)據(jù)項。表中的第一行稱為字段名,用于表示每個字段的名稱。表1-1所示是一個學(xué)生情況表。

25VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案在關(guān)系模型中二維表應(yīng)具有的特征是:表中的每一數(shù)據(jù)項不能再分;表中每一列的數(shù)據(jù)類型必須相同;表中每一列的字段名不允許相同;表中的記錄和字段順序可以任意排列。關(guān)系模型對數(shù)據(jù)庫的理論和實踐產(chǎn)生極大的影響,它比層次模型和網(wǎng)狀模型有明顯的優(yōu)勢,是目前最流行的數(shù)據(jù)庫模型。支持關(guān)系模型的數(shù)據(jù)庫管理系統(tǒng)稱為關(guān)系數(shù)據(jù)庫管理系統(tǒng)。VisualFoxPro系統(tǒng)就是依照關(guān)系模型設(shè)計的,因此VisualFoxPro是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。1.5關(guān)系數(shù)據(jù)庫基礎(chǔ)知識關(guān)系數(shù)據(jù)庫是由若干依照關(guān)系模型設(shè)計的二維數(shù)據(jù)表文件的集合。在VisualFoxPro中,一個關(guān)系數(shù)據(jù)庫是由若干個數(shù)據(jù)表組成,每個數(shù)據(jù)表又是由若干個記錄組成,每個記錄由若干個數(shù)據(jù)項組成。一個關(guān)系的邏輯結(jié)構(gòu)就是一個關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。26VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案這種用二維表的形式表示實體和實體之間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。1.5.1關(guān)系術(shù)語關(guān)系建立在數(shù)學(xué)集合概念基礎(chǔ)之上,它是由行和列的二維表組成。關(guān)系:一個關(guān)系就是一張二維表。每個關(guān)系有一個關(guān)系名。在VisualFoxPro中,一個關(guān)系就稱為一個數(shù)據(jù)表。元組:二維表中水平方向的行稱為元組。每一行是一個元組。在VisualFoxPro中,一行稱為一個記錄。屬性:二維表中垂直方向的列稱為屬性。每一列有一個屬性名。在VisualFoxPro中,一列稱為一個字段。域:指表中屬性的取值范圍。VisualFoxPro中,一個字段的取值稱為一個字段的寬度。

29VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案段。第三范式:若關(guān)系模型屬于第二范式,且關(guān)系中所有非主屬性都直接依賴關(guān)鍵字段。例如,有下列五張數(shù)據(jù)表,收集有關(guān)學(xué)生選課的情況。①生情況表記錄了有關(guān)學(xué)號、姓名、性別、出生年月、入??偡帧⑷蒙?、特長、照片等情況,如表1-2所示。

表1-2

學(xué)生情況表學(xué)號姓名性別出生年月入??偡秩蒙亻L照片s0201101王小平男10/23/1984590F

s0201102張強(qiáng)男08/12/1984568T

s0201103劉雨女01/02/1985565F

s0201104江冰男07/24/1984570F

s0201105吳紅梅女05/12/1984595F

s0201106杜海男12/12/1983578F

s0201107金陽女11/07/1983550T

s0201108張敏女09/30/1984586F

s0201109楊然男02/15/1985569F

s0201110郭晨光男03/18/1983592F

第三范式:若關(guān)系模型屬于第二范式,且關(guān)系中所有非主屬性都直接依賴關(guān)鍵字段。例如,有下列五張數(shù)據(jù)表,收集有關(guān)學(xué)生選課的情況。

①生情況表記錄了有關(guān)學(xué)號、姓名、性別、出生年月、入??偡?、三好生、特長、照片等情況,如表1-2所示。

表1-2

學(xué)生情況表

30VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案

表1-3

選課表學(xué)

號課程號成績學(xué)

號課程號成績s0201101c11090s0201106C15080s0201101c12087s0201107C13090s0201102c11080s0201108C11060s0201102c15066s0201108C14086s0201103c13094s0201109C14076s0201103c14050s0201109C15080s0201104c11076s0201109C16090S0201105c12082s0201110C12078S0201105c14070s0201110C14072S0201106c11086s0201110C16090

②課表記錄了有關(guān)學(xué)號、課程號、成績等情況,如表1-3所示。表1-3

選課表

31VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案③課表記錄了有關(guān)教師號、課程號等情況,如表1-4所示。

表1-4

授課表教師號課程號t1101c110t1102c150t1102c160t1103c120t1103c140t1103c160t1104c130t1105c120t1105c140t1105c160

表1-4

授課表

32VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案

④程表記錄了有關(guān)課程號、課程名、課時等情況,如表1-5所示。

表1-5

課程表課程號課程名課時c110數(shù)學(xué)建模80c120計算機(jī)網(wǎng)絡(luò)60c130日語80c140數(shù)據(jù)庫60c150商業(yè)會計70c160電子商務(wù)50

表1-5

課程表

33VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案

表1-6

教師情況表⑤教師情況表記錄了有關(guān)教師號、姓名、性別、職稱、工資、政府津貼等情況,如表1-6所示。教師號姓名性別職稱工資政府津貼t1101周

密男教授3000.00Tt1102陳

靜女講師1500.00Ft1103孫力波男副教授2000.00Ft1104肖

君女教授3000.00Tt1105趙

輝男講師1500.00F

上述五張數(shù)據(jù)表收集了有關(guān)學(xué)生情況、授課情況、選課情況、教師情況、課程情況等信息。如果將這些數(shù)據(jù)集中在一個表中,顯然會使得表中的數(shù)據(jù)字段太寬、數(shù)據(jù)量大、結(jié)構(gòu)復(fù)雜,使數(shù)據(jù)可能34VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案重復(fù)出現(xiàn),數(shù)據(jù)的輸入、修改和查找都很麻煩,會造成數(shù)據(jù)存儲空間的浪費。在關(guān)系數(shù)據(jù)庫中,通過數(shù)據(jù)庫管理系統(tǒng),可將這些相關(guān)的數(shù)據(jù)表存儲在同一個數(shù)據(jù)庫中,將兩數(shù)據(jù)表中具有相同值的字段名之間建立關(guān)聯(lián)關(guān)系。如將學(xué)生情況表中的“學(xué)號”字段與選課表中的“課程號”字段建立關(guān)聯(lián)關(guān)系;將選課表中的“課程號”字段與授課表中的“教師號”字段建立關(guān)聯(lián)關(guān)系。使每個數(shù)據(jù)表具有獨立性,又使每個數(shù)據(jù)表保持一定的關(guān)聯(lián)關(guān)系。35VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案1.傳統(tǒng)的集合運算進(jìn)行并、差、交、積集合運算的兩個關(guān)系必須具有相同的關(guān)系模式,即結(jié)構(gòu)相同。并──兩個相同結(jié)構(gòu)的關(guān)系R和S的“并”記為R∪S,其結(jié)果是由R和S的所有元組組成的集合。差──兩個相同結(jié)構(gòu)的關(guān)系R和S的“差”記為R-S,其結(jié)果是由屬于R但不屬于S的元組組成的集合。差運算的結(jié)果是從R中去掉S中也有的元組。交──兩個相同結(jié)構(gòu)的關(guān)系R和S的“交”記為R∩S,它們的交是由既屬于R又屬于S的元組組成的集合。交運算的結(jié)果是R和S的共同元組。積(笛卡爾積)──它是由關(guān)系R的第一個元組依次與關(guān)系S的所有元組組合,R的第二個元組直到最后一個元組依次與S的所有元組組合,形成新的關(guān)系,記為R×S。

36VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案2.專門的關(guān)系運算在關(guān)系數(shù)據(jù)庫中,經(jīng)常需要對關(guān)系進(jìn)行特定的關(guān)系運算操作?;镜年P(guān)系運算有三種:選擇、投影和連接。(1)選擇選擇運算是從關(guān)系中找出滿足條件的記錄。選擇運算是一種橫向操作,它可以根據(jù)用戶的要求從關(guān)系中篩選出滿足一定條件的記錄,這種運算可以改變關(guān)系表中的記錄個數(shù),但不影響關(guān)系的結(jié)構(gòu)。在VisualFoxPro命令中,可以通過子句FOR<條件>、WHILE<條件>等實現(xiàn)選擇運算。例如,從學(xué)生情況表中找出入??偡执笥?80分的學(xué)生,如表1-7所示。通過VisualFoxPro命令可以從學(xué)生情況表中找出入??偡执笥?80分的4個記錄(灰色記錄)。

37VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案學(xué)號姓名性別出生年月入??偡秩蒙亻L照片s0201101王小平男10/23/1984590F

s0201102張強(qiáng)男08/12/1984568T

s0201103劉雨女01/02/1985565F

s0201104江冰男07/24/1984570F

s0201105吳紅梅女05/12/1984595F

s0201106杜海男12/12/1983578F

s0201107金陽女11/07/1983550T

s0201108張敏女09/30/1984586F

s0201109楊然男02/15/1985569F

s0201110郭晨光男03/18/1983592F

表1-7學(xué)生情況表38VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案(2)投影投影運算是從關(guān)系中選取若干屬性(字段)組成新的關(guān)系。投影運算是一種列向的操作,它可以根據(jù)用戶的要求從關(guān)系中選出若干字段組成新的關(guān)系。其關(guān)系模式所包含的字段個數(shù)往往比原有關(guān)系少,或者字段的排列順序不同。因此投影運算可以改變關(guān)系中的結(jié)構(gòu)。在VisualFoxPro命令中,可以通過子句FIELDS<字段1,字段2…>實現(xiàn)投影運算。例如,通過VisualFoxPro命令可以從學(xué)生情況表(學(xué)號,姓名,性別,出生年月,入??偡郑蒙?,特長,照片)關(guān)系中只顯示姓名、性別、入??偡秩齻€字段。如表1-8所示

39VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案表1-8學(xué)生情況表學(xué)號姓名性別出生年月入??偡秩蒙亻L照片s0201101王小平男10/23/1984590F

s0201102張強(qiáng)男08/12/1984568T

s0201103劉雨女01/02/1985565F

s0201104江冰男07/24/1984570F

s0201105吳紅梅女05/12/1984595F

s0201106杜海男12/12/1983578F

s0201107金陽女11/07/1983550T

s0201108張敏女09/30/1984586F

s0201109楊然男02/15/1985569F

s0201110郭晨光男03/18/1983592F

40VisualFoxPro面向?qū)ο蟪绦蛟O(shè)計實用教程電子教案(3)連接連接運算是將兩個關(guān)系通過共同的屬性名(字段名)連接成一個新的關(guān)系。連接運算可以實現(xiàn)兩個關(guān)系的橫向合并,在新的關(guān)系中可以反映出原來兩個關(guān)系之間的聯(lián)系。選擇和投影運算都屬于單目運算,對一個關(guān)系進(jìn)行操作;而連接運算屬于雙目運算,對兩個關(guān)系進(jìn)行操作。1.5.4關(guān)系的完整性數(shù)據(jù)庫系統(tǒng)在運行的過程中,由于數(shù)據(jù)輸入錯誤、程序錯誤、使用者的誤操作、非法訪問等各方面原因,容易產(chǎn)生數(shù)據(jù)錯誤和混亂。為了保證關(guān)系中數(shù)據(jù)的正確、有效使用,需建立數(shù)據(jù)完整性的約束機(jī)制來加以控制。關(guān)系的完整性是指關(guān)系中的數(shù)據(jù)及具有關(guān)聯(lián)關(guān)系的數(shù)

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論