數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)及應(yīng)用.ppt
《數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)及應(yīng)用.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)及應(yīng)用.ppt(99頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第十章 數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)及應(yīng)用,二十一世紀(jì)是一個(gè)信息時(shí)代,人類(lèi)已進(jìn)入到一個(gè)充分利用信息資源的社會(huì)。隨著計(jì)算機(jī)技術(shù)及數(shù)據(jù)庫(kù)技術(shù)的不斷發(fā)展,數(shù)據(jù)庫(kù)技術(shù)已廣泛應(yīng)用于信息管理的各個(gè)領(lǐng)域。因此,掌握好一門(mén)數(shù)據(jù)庫(kù)技術(shù)是非常必要的。 目前,市場(chǎng)上流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)有好多種,如:Visual Foxpro、Access、SQL Server、Oracle、Informix、Sybase等。Microsoft Access 2000數(shù)據(jù)庫(kù)管理系統(tǒng)是Mirrosoft公司Office辦公軟件的一個(gè)組件,是一個(gè)組織、管理和處理中、小型數(shù)據(jù)的數(shù)據(jù)庫(kù)管理系統(tǒng)。它的界面友好、可視性強(qiáng),具有易學(xué)易懂、使
2、用方便等特點(diǎn)。,1.1 數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS) 1數(shù)據(jù)庫(kù)管理系統(tǒng)的定義 數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是一種組織、儲(chǔ)存、管理和處理數(shù)據(jù)的軟件系統(tǒng),是開(kāi)發(fā)信息管理應(yīng)用系統(tǒng)的核心和平臺(tái),它為實(shí)現(xiàn)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理提供了方法和手段。 數(shù)據(jù)處理是指利用計(jì)算機(jī)對(duì)各種形式(字符、數(shù)值、聲音及圖形、圖像、表格)的數(shù)據(jù)進(jìn)行采集、加工、存儲(chǔ)、計(jì)算、分類(lèi)、檢索和傳輸?shù)纫幌盗谢顒?dòng)的總和。數(shù)據(jù)處理的目的,就是從大量的原始數(shù)據(jù)中,提取產(chǎn)生對(duì)人們有價(jià)值的信息,使得人們能方便而充分地利用信息資源。我們可以將數(shù)據(jù)處理分為兩個(gè)層次:一是數(shù)據(jù)的收集、分類(lèi)、組織、編碼、儲(chǔ)存、檢索、傳輸和維護(hù)等操作,稱(chēng)為基本的數(shù)據(jù)管理操作。二是加工
3、、計(jì)算和輸出等操作。隨著管理對(duì)象的不同,其操作要求是千差萬(wàn)別的。這些操作稱(chēng)為應(yīng)用操作,由應(yīng)用程序來(lái)實(shí)現(xiàn)。,一、數(shù)據(jù)庫(kù)的基礎(chǔ)理論,2數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn) 數(shù)據(jù)管理技術(shù)經(jīng)歷了人工管理階段、文件管理階段到數(shù)據(jù)庫(kù)管理階段的發(fā)展過(guò)程。那么,數(shù)據(jù)庫(kù)管理有什么特點(diǎn)呢? (1)數(shù)據(jù)的結(jié)構(gòu)化 數(shù)據(jù)的結(jié)構(gòu)化是指描述實(shí)體的數(shù)據(jù)有一定的結(jié)構(gòu)形式。因此,數(shù)據(jù)表所描述的數(shù)據(jù)不僅是一個(gè)獨(dú)立的數(shù)據(jù)。而且,還可以描述數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)的結(jié)構(gòu)化,使得數(shù)據(jù)表與數(shù)據(jù)表之間可以建立關(guān)聯(lián)。減少了數(shù)據(jù)的重復(fù),也避免了數(shù)據(jù)的不一致性。 (2)數(shù)據(jù)的獨(dú)立性 數(shù)據(jù)的獨(dú)立性是指數(shù)據(jù)表中的數(shù)據(jù)組織和存取方法與應(yīng)用程序之間不存在相互依賴(lài)
4、的關(guān)系,它們之間是彼此獨(dú)立的。也就是說(shuō),數(shù)據(jù)表與應(yīng)用程序之間不會(huì)因?yàn)橐环降母淖兌枰薷牧硪环健亩?,大大地降低了?yīng)用程序的開(kāi)發(fā)成本和維護(hù)費(fèi)用。,(3)數(shù)據(jù)的共享性 數(shù)據(jù)的共享性是指不同的應(yīng)用程序可以使用同一個(gè)數(shù)據(jù)表,可以同時(shí)存取同一數(shù)據(jù)。數(shù)據(jù)表中的數(shù)據(jù)不僅可供現(xiàn)有的各應(yīng)用程序共享,而且,還可以為新開(kāi)發(fā)的應(yīng)用程序使用。 (4)最小的數(shù)據(jù)冗余度 數(shù)據(jù)冗余度最小是指存儲(chǔ)在數(shù)據(jù)表中的重復(fù)數(shù)據(jù)盡可能的少。由于數(shù)據(jù)表中的數(shù)據(jù)具有結(jié)構(gòu)化和獨(dú)立性的特點(diǎn),從而,實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一存放和集中控制,減小數(shù)據(jù)冗余度。,(5)數(shù)據(jù)的完整性 保證數(shù)據(jù)在數(shù)據(jù)表中正確的特性稱(chēng)為數(shù)據(jù)的完整性。在建立數(shù)據(jù)表時(shí)候可以通過(guò)建立一
5、些約束條件來(lái)保證輸入數(shù)據(jù)的正確。當(dāng)設(shè)置了約束條件,就可以自動(dòng)地拒絕錯(cuò)誤的數(shù)據(jù)。數(shù)據(jù)的完整性分為實(shí)體的完整性、域的完整性和參照完整性。實(shí)體的完整性保證數(shù)據(jù)表中記錄的唯一特性,域的完整性保證記錄字段取值的正確和有效性。 (6)并發(fā)使用和數(shù)據(jù)的一致性 數(shù)據(jù)庫(kù)中的數(shù)據(jù)是共享的,允許多個(gè)用戶同時(shí)使用相同的數(shù)據(jù)。因此,必須保證各個(gè)用戶之間對(duì)數(shù)據(jù)的操作不發(fā)生矛盾和沖突,保證數(shù)據(jù)的一致性和正確性。 數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)通過(guò)數(shù)據(jù)庫(kù)中的表、查詢、窗體、報(bào)表、數(shù)據(jù)訪問(wèn)頁(yè)、宏和模塊等七個(gè)對(duì)象來(lái)完成數(shù)據(jù)庫(kù)管理系統(tǒng)的功能。,3數(shù)據(jù)模型與數(shù)據(jù)庫(kù)管理系統(tǒng)分類(lèi) 數(shù)據(jù)模型是數(shù)據(jù)庫(kù)中數(shù)據(jù)的存儲(chǔ)方式,是數(shù)據(jù)庫(kù)管理系統(tǒng)的核心
6、和基礎(chǔ)。每一種數(shù)據(jù)庫(kù)管理系統(tǒng)都是基于某種數(shù)據(jù)模型的。數(shù)據(jù)庫(kù)分類(lèi)是根據(jù)數(shù)據(jù)模型來(lái)劃分的,常見(jiàn)的數(shù)據(jù)模型有層次、網(wǎng)狀和關(guān)系三類(lèi)模型。 (1)非關(guān)系型模型 第一代數(shù)據(jù)庫(kù)管理系統(tǒng)是非關(guān)系型,主要包括層次和網(wǎng)狀兩種模型。 1)層次模型 層次模型是一棵倒立的樹(shù)。在數(shù)據(jù)庫(kù)中滿足以下條件的數(shù)據(jù)模型稱(chēng)為層次模型。 有且僅有一個(gè)結(jié)點(diǎn)無(wú)父結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱(chēng)為根結(jié)點(diǎn)。 其他結(jié)點(diǎn)有且僅有一個(gè)父結(jié)點(diǎn)。 在層次模型中,數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)要通過(guò)指針鏈在數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)。自關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)興起后,目前已被淘汰。,2)網(wǎng)狀模型 網(wǎng)狀模型是一個(gè)網(wǎng)絡(luò)。在數(shù)據(jù)庫(kù)中,滿足以下兩個(gè)條件的數(shù)據(jù)模型稱(chēng)為網(wǎng)狀模型。 允許一個(gè)以上的結(jié)點(diǎn)無(wú)父結(jié)點(diǎn)。
7、 一個(gè)結(jié)點(diǎn)可以有多于一個(gè)父結(jié)點(diǎn)。 非關(guān)系型的數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)復(fù)雜,使用難度較高。和層次模型一樣要通過(guò)指針鏈在數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)。自關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)興起后,非關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)已被淘汰。,(2)關(guān)系型模型 關(guān)系模型(Relational Model)的所謂“關(guān)系”是有特定含義的。廣義地說(shuō),任何數(shù)據(jù)模型都可以描述一定事物之間的關(guān)系。關(guān)系模型的所謂“關(guān)系”雖然也適用于這種廣義的理解,但同時(shí)又特指那種雖具有相關(guān)性而非從屬性的平行的數(shù)據(jù)之間,按照某種序列排列的集合關(guān)系。 關(guān)系模型的最大優(yōu)點(diǎn)就是簡(jiǎn)單。在關(guān)系模型中,數(shù)據(jù)的邏輯結(jié)構(gòu)實(shí)際上就是一個(gè)滿足一定條件的二維表。每一個(gè)關(guān)系就是一個(gè)二維數(shù)據(jù)列
8、表,表示一個(gè)實(shí)體集。用戶只需要用簡(jiǎn)單的SQL語(yǔ)句就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。 關(guān)系模型具有結(jié)構(gòu)簡(jiǎn)單、操作方便、數(shù)據(jù)描述統(tǒng)一等優(yōu)點(diǎn)。關(guān)系模型的主要特點(diǎn)有: 關(guān)系中每一數(shù)據(jù)項(xiàng)不可再分,是最基本的單位。 每一列數(shù)據(jù)項(xiàng)是同屬性的,各列的排列順序是任意的,關(guān)系中不允許有相同的列名。 每一行記錄由一個(gè)事物的諸多屬性項(xiàng)構(gòu)成一個(gè)實(shí)體,不允許有相同的記錄。也就是說(shuō),必須有至少一個(gè)關(guān)鍵字段,而列和行的排列順序可以是任意的。,4常見(jiàn)的數(shù)據(jù)庫(kù)管理系統(tǒng) 關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)有很多,目前較為流行的是Microsoft Access、SOL Server、Oracle、Visual Foxpro等。下面對(duì)四種數(shù)據(jù)庫(kù)管理系統(tǒng)
9、作一個(gè)簡(jiǎn)單的介紹。 Microsoft Access是Microsoft Office軟件包中的一個(gè)重要組件。隨著Windows操作系統(tǒng)的升級(jí),其功能越來(lái)越強(qiáng)大,適用于中、小型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。 SOL Server是Microsoft公司開(kāi)發(fā)的面向高端的數(shù)據(jù)庫(kù)管理系統(tǒng),適用于中、大型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。 Oracle是目前功能最強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng),適用于大型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。 Visual Foxpro是一個(gè)相對(duì)簡(jiǎn)單的數(shù)據(jù)庫(kù)管理系統(tǒng)。它的優(yōu)點(diǎn)是自帶編程工具,Visual Foxpro提供了面向?qū)ο蟮?、結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,在Visual Foxpro中就可以編寫(xiě)應(yīng)用程序。目前,仍然有許多的用戶。,
10、1.2 數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)(Data Base)是按照一定的組織結(jié)構(gòu)存儲(chǔ)在計(jì)算機(jī)中的相關(guān)數(shù)據(jù)的集合;是一個(gè)組織、建立、管理相關(guān)數(shù)據(jù)表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊的管理工具;是實(shí)現(xiàn)數(shù)據(jù)庫(kù)功能的操作平臺(tái)。 當(dāng)然,不同的數(shù)據(jù)庫(kù)管理系統(tǒng),其數(shù)據(jù)庫(kù)管理的相關(guān)對(duì)象會(huì)有所不同,但數(shù)據(jù)表、查詢是最基本的管理對(duì)象。例如,在Access中,用戶就是通過(guò)圖10-1“數(shù)據(jù)庫(kù)”窗口來(lái)組織、建立和管理相互關(guān)聯(lián)的數(shù)據(jù)表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊。,,圖10-1“數(shù)據(jù)庫(kù)”窗口,1.3 數(shù)據(jù)表 1數(shù)據(jù)表的定義 數(shù)據(jù)表是一組相關(guān)數(shù)據(jù)按行和列排列的二維表格,通常用來(lái)描述一個(gè)實(shí)體集。數(shù)據(jù)表是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)中處理數(shù)據(jù)的
11、數(shù)據(jù)源。在Access中表是從屬于數(shù)據(jù)庫(kù)的,是數(shù)據(jù)庫(kù)必備的最基本的對(duì)象。二維表格要建立為一個(gè)數(shù)據(jù)表,必須保證任意二行的數(shù)據(jù)不能完全相同,也就是說(shuō),必須有至少一個(gè)關(guān)鍵字段,而列和行的排列順序可以是任意的。 2數(shù)據(jù)表的有關(guān)概念 如圖10-2“學(xué)生檔案表”所示,“學(xué)生檔案表”用來(lái)描述一個(gè)學(xué)生實(shí)體集。數(shù)據(jù)表中的每一列稱(chēng)為字段,通常用字段來(lái)描述實(shí)體在某一方面的屬性。字段用字段名、數(shù)據(jù)類(lèi)型、字段寬度來(lái)描述。字段的每個(gè)值稱(chēng)為數(shù)據(jù)項(xiàng),字段的取值范圍稱(chēng)為域。數(shù)據(jù)表的每一行稱(chēng)為一個(gè)記錄或元組,它是字段的集合,用來(lái)描述一個(gè)實(shí)體。,圖10-2 學(xué)生檔案表,1.4 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBS)是一個(gè)在計(jì)算機(jī)
12、及數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,由應(yīng)用程序?qū)?shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的應(yīng)用系統(tǒng)。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBS)通常由數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)應(yīng)用程序以及支持?jǐn)?shù)據(jù)庫(kù)運(yùn)行的其他軟硬件和相關(guān)人員組成。數(shù)據(jù)庫(kù)是作為后臺(tái)數(shù)據(jù)源存放在服務(wù)器中,是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的數(shù)據(jù)源和管理對(duì)象。而應(yīng)用程序是用高級(jí)語(yǔ)言開(kāi)發(fā)的,作為用戶端的前臺(tái)界面。 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具很多,目前常用的有Visual Basic、Visual C++、Java、Delphi、PwerBuilder等高級(jí)語(yǔ)言。各種高級(jí)語(yǔ)言都具有與數(shù)據(jù)庫(kù)的通信接口,Visual Basic語(yǔ)言默認(rèn)的數(shù)據(jù)庫(kù)是Access數(shù)據(jù)庫(kù)。 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)人員不僅要掌握一
13、種數(shù)據(jù)庫(kù)管理系統(tǒng)與SQL命令。而且,還需要熟悉一種計(jì)算機(jī)高級(jí)語(yǔ)言。圖10-3是目前常見(jiàn)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)及開(kāi)發(fā)工具,用戶用高級(jí)語(yǔ)言編寫(xiě)應(yīng)用程序,通過(guò)高級(jí)語(yǔ)言的通信接口,用SQL命令對(duì)數(shù)據(jù)進(jìn)行操作。圖10-4是目前常見(jiàn)的一種支持?jǐn)?shù)據(jù)庫(kù)查詢的Web服務(wù)器。Web服務(wù)器上的網(wǎng)頁(yè)由HTM和ASP文件組成,用戶通過(guò)瀏覽器訪問(wèn)網(wǎng)頁(yè),ASP文件通過(guò)SQL命令對(duì)數(shù)據(jù)進(jìn)行操作。,圖10-3 常見(jiàn)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)及開(kāi)發(fā)工具,圖10-4 Web服務(wù)器沙漠感的數(shù)據(jù)庫(kù),二、數(shù)據(jù)類(lèi)型及表達(dá)式,2.1 數(shù)據(jù)類(lèi)型 我們知道,實(shí)體是用屬性來(lái)描述特征的,而屬性是具有屬性值,屬性值是用數(shù)據(jù)來(lái)表示的。在各種數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
14、中,數(shù)據(jù)都具有類(lèi)型。比如,Microsoft Access 2000所支持的數(shù)據(jù)類(lèi)型有:文本、備注、數(shù)字、日期/時(shí)間、貨幣、自動(dòng)編號(hào)、是/否、OLE對(duì)象、超級(jí)連接、查閱向?qū)У仁N數(shù)據(jù)類(lèi)型。,表10-1 Access 2000數(shù)據(jù)類(lèi)型,表10-1 Access 2000數(shù)據(jù)類(lèi)型,2.2 表達(dá)式 表達(dá)式是數(shù)據(jù)之間運(yùn)算關(guān)系的形式。它是由常量、內(nèi)存變量、字段變量、函數(shù)以及運(yùn)算符組合而得到的一個(gè)有物理意義的式子。常量,字段變量,內(nèi)存變量是表達(dá)式的一種特殊形式。所有的數(shù)據(jù)庫(kù)管理系統(tǒng)都提供了豐富的運(yùn)算符和函數(shù),用戶可以非常方便的構(gòu)造各種表達(dá)式,用來(lái)實(shí)現(xiàn)各種特定的操作。當(dāng)然,在各種數(shù)據(jù)庫(kù)管理系統(tǒng)中的用法會(huì)有所
15、不同。 表達(dá)式按參與運(yùn)算的數(shù)據(jù)類(lèi)型,可劃分為算術(shù)表達(dá)式、字符表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式和日期表達(dá)式五種。特別強(qiáng)調(diào)表達(dá)式各個(gè)部分的數(shù)據(jù)類(lèi)型必須一致,如果不一致就應(yīng)該用數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)強(qiáng)制轉(zhuǎn)換。,1運(yùn)算符 運(yùn)算符是表示數(shù)據(jù)之間運(yùn)算方式的符號(hào)。運(yùn)算符包括算術(shù)運(yùn)算符、字符運(yùn)算符關(guān)系運(yùn)算符和邏輯運(yùn)算符四種,表10-2列出了Access常用的運(yùn)算符。需要說(shuō)明的是:引用字符型數(shù)據(jù)要用引號(hào)“””或“”括起來(lái),如”abcd123”。引用日期型數(shù)據(jù)要用“#”括起來(lái),如#05/12/2007#。,例如:53=1;5 MOD 3=2;”abcd”輸入當(dāng)前系統(tǒng)日期,按Ctrl+:輸入當(dāng)前的系統(tǒng)時(shí)間。 在向“備注”
16、字段輸入大量的文本,應(yīng)按Shift+F2健,打開(kāi)一個(gè)文本編輯框輸入。在文本編輯框中,如要換行應(yīng)按Ctrl+Enter,若按回車(chē)健會(huì)關(guān)閉文本編輯框窗口而結(jié)束輸入。 對(duì)OLE 對(duì)象、超級(jí)鏈接兩種類(lèi)型數(shù)據(jù),應(yīng)通過(guò)單擊Access主菜單中的“插入(I)”、“對(duì)象(O)”或“超級(jí)鏈接”的方式來(lái)輸入。 記錄錄入后,Access系統(tǒng)會(huì)自動(dòng)存盤(pán)。但輸入的數(shù)據(jù)如違反了有效性規(guī)則或數(shù)據(jù)完整性時(shí),Access系統(tǒng)將給出錯(cuò)誤提示并不能存盤(pán)。,2)利用“自動(dòng)窗體”輸入數(shù)據(jù) 利用“自動(dòng)窗體”輸入數(shù)據(jù)是一種快速錄入數(shù)據(jù)的方法,以“課程代碼表”為例來(lái)說(shuō)明“自動(dòng)窗體”輸入數(shù)據(jù)的方法。在“學(xué)生信息庫(kù):數(shù)據(jù)庫(kù)”窗口中選擇對(duì)象欄中的
17、“表”選項(xiàng),在對(duì)象列表中選擇要輸入數(shù)據(jù)的“課程代碼表”數(shù)據(jù)表。單擊系統(tǒng)“菜單”、“自動(dòng)窗體”或工具欄中的“自動(dòng)窗體”按鈕,彈出如圖10-11所示“自動(dòng)窗體”窗口。,,圖10-11“自動(dòng)窗體”窗口,請(qǐng)注意,窗體中的數(shù)據(jù)是表中原有的第一條記錄的內(nèi)容。而且,由于“課程代碼表”與“學(xué)生成績(jī)表”存在一多關(guān)系。因此,在窗體窗口的下半部分還有一個(gè)小窗口,顯示了“課程代碼表”當(dāng)前記錄所對(duì)應(yīng)的“學(xué)生成績(jī)表”子表記錄,即該門(mén)課程的所有學(xué)生的成績(jī)。 如果表中原不存在記錄,則彈出如圖10-12所示“自動(dòng)窗體”窗口。在圖10-9“自動(dòng)窗體”窗口中單擊最下端最右邊的追加記錄“ ”按鈕,這時(shí)就可以在如圖10-10所示錄入數(shù)
18、據(jù)自動(dòng)窗體的各個(gè)欄目中輸入數(shù)據(jù)。當(dāng)一條記錄輸入完成后,可單擊單擊窗口最下端的下一條記錄“ ”按鈕,在圖10-10所示“自動(dòng)窗體”中繼續(xù)錄入記錄。,,,圖10-12 錄入數(shù)據(jù)“自動(dòng)窗體”,四、表的基本操作,4.1 表結(jié)構(gòu)的修改 對(duì)表的結(jié)構(gòu)進(jìn)行修改,包括增、刪字段,修改字段名、字段數(shù)據(jù)類(lèi)型等。其操作方法: 打開(kāi)相應(yīng)的數(shù)據(jù)庫(kù)文件,選擇要修改結(jié)構(gòu)的表。單擊“設(shè)計(jì)”,彈出“設(shè)計(jì)視圖”窗口。如要修改某字段,可單擊該字段直接進(jìn)行字段名、數(shù)據(jù)類(lèi)型和字段屬性的修改;如要增加字段,可在“設(shè)計(jì)視圖”窗口中直接定義輸入;如要在某字段前插入字段,可選擇該字段,單擊系統(tǒng)菜單上的“插入”、“行”便可定義輸入,插入一字段
19、;如要?jiǎng)h除某字段,可選擇該字段,單擊系統(tǒng)菜單上的“編輯”、“刪除行”便可刪除。,4.2 表的主健和索引的設(shè)置 1表主健的設(shè)置 主健是唯一標(biāo)識(shí)表中一條記錄的關(guān)鍵字,這個(gè)關(guān)鍵字可以是表中的一個(gè)字段,也可以是表中多個(gè)字段組成的表達(dá)式。雖然在一個(gè)表中并不一定是必須的,但當(dāng)在表之間需要建立關(guān)系時(shí),就必須為表指定主健。 主健的值在表中不允許重復(fù),因此,在表中只能建立一個(gè)主健。當(dāng)表的主健被建立,系統(tǒng)將以主健的次序顯示表記錄。并且,當(dāng)輸入新記錄到數(shù)據(jù)表時(shí),系統(tǒng)將檢查主健字段的值是否有重復(fù)。如重復(fù)會(huì)拒絕接受。主健還能夠加快在表中的查詢速度。下面以“學(xué)生成績(jī)表”為例,來(lái)說(shuō)明建立主健的操作步驟。, 在“學(xué)生信息庫(kù)”
20、數(shù)據(jù)庫(kù)窗口中選擇對(duì)象欄中的“表”選項(xiàng),在對(duì)象列表中選擇相應(yīng)的“學(xué)生成績(jī)表”。單擊“數(shù)據(jù)庫(kù)”窗口工具欄上的“設(shè)計(jì)”按鈕彈出“設(shè)計(jì)視圖”窗口。 單擊“學(xué)號(hào)”字段,按住Ctrl或Shift健,同時(shí)選擇“課程代碼”字段,使兩個(gè)字段所在的行都被黑色覆蓋。在“學(xué)生成績(jī)表”中必須選擇“學(xué)號(hào)”和“課程代碼”兩個(gè)字段的組合作為主健。 單擊系統(tǒng)工具欄上的“主健”按鈕,這時(shí),如圖10-13所示“學(xué)號(hào)”、“課程代碼”字段的行選擇器上各出現(xiàn)一個(gè)鑰匙形狀的圖標(biāo)。表示“學(xué)號(hào)”、“課程代碼”兩字段已成為“學(xué)生成績(jī)表”的主健。,,圖10-13“學(xué)生成績(jī)表”的主健,2索引 索引就是按照某個(gè)字段或某幾個(gè)字段值的升序或降序排列表中
21、的記錄,用于加快在表中查詢的速度。表的主健會(huì)自動(dòng)建立索引,索引與主健的區(qū)別是,索引允許索引字段有重復(fù)值,而主健字段不允許有重復(fù)值。下面以“教師代碼表”為例來(lái)說(shuō)明建立索引的操作步驟。 在“學(xué)生信息庫(kù)”數(shù)據(jù)庫(kù)窗口中選擇對(duì)象欄中的“表”選項(xiàng),在對(duì)象列表中選擇相應(yīng)的“教師代碼表”。單擊“數(shù)據(jù)庫(kù)”窗口工具欄上的“設(shè)計(jì)”按鈕彈出“設(shè)計(jì)視圖”窗口。 單擊系統(tǒng)工具欄中的“索引”圖標(biāo)按鈕 或系統(tǒng)菜單中的“視圖(V)”、“索引(I)”命令,彈出圖10-14“索引”對(duì)話框。 在“索引”對(duì)話框的“索引名稱(chēng)”列中選擇索引字段,在“排序次序”列中選擇排序方式。請(qǐng)注意,有重復(fù)值的索引字段不能設(shè)置為主索引或唯一索引。,,,圖
22、10-14“索引”對(duì)話框,4.3 表之間關(guān)系的建立 在數(shù)據(jù)模型表示客觀世界的過(guò)程中,一般要用多個(gè)實(shí)體集來(lái)描述。在多個(gè)實(shí)體集(數(shù)據(jù)表)之間就可能存在著相互的聯(lián)系,這種聯(lián)系有三種:一對(duì)一聯(lián)系、一對(duì)多的聯(lián)系、多對(duì)多的聯(lián)系。數(shù)據(jù)表之間要建立關(guān)聯(lián)必要條件是:必須存在公共字段。所謂公共字段,就是兩表都具有的字段,我們把這個(gè)字段稱(chēng)為關(guān)鍵字段。 1表之間的關(guān)系類(lèi)型 (1)一對(duì)一關(guān)系(1:1) 一對(duì)一聯(lián)系是指在兩個(gè)實(shí)體集間存在一一對(duì)應(yīng)的聯(lián)系,即A實(shí)體集中的每個(gè)實(shí)體,在B實(shí)體集中最多只能找到一個(gè)可以和它相聯(lián)系的實(shí)體,反過(guò)來(lái)同樣。那么這兩個(gè)實(shí)體集之間就存在一對(duì)一的聯(lián)系,記為1:1關(guān)系。例如:在“學(xué)生檔案表”中一
23、個(gè)學(xué)生只有一條記錄,且對(duì)應(yīng)在“高考成績(jī)表”中該學(xué)生也只有一條記錄,反過(guò)來(lái)也一樣。所以,“學(xué)生檔案表”和“高考成績(jī)表”兩個(gè)實(shí)體集之間是一對(duì)一的關(guān)系。,(2)一對(duì)多關(guān)系(1:N)或多對(duì)一(M:1) 一對(duì)多聯(lián)系是指在兩個(gè)實(shí)體集間存在一對(duì)多的聯(lián)系,即A實(shí)體集的每個(gè)實(shí)體在B實(shí)體集中可以找到對(duì)應(yīng)的多個(gè)實(shí)體;反過(guò)來(lái)說(shuō),在B實(shí)體集中的每個(gè)實(shí)體,卻只能在A實(shí)體集中找到一個(gè)能夠相聯(lián)系的實(shí)體。那么,這兩個(gè)實(shí)體集之間就存在著一對(duì)多的聯(lián)系,記為1:N聯(lián)系。例如,“學(xué)生檔案表”與“學(xué)生成績(jī)表”的關(guān)系就是一對(duì)多的關(guān)系。一個(gè)學(xué)生在“學(xué)生檔案表”中只有一個(gè)記錄,而在“學(xué)生成績(jī)表”中一個(gè)學(xué)生有多門(mén)課程的成績(jī),也就是說(shuō),一個(gè)學(xué)生
24、在“學(xué)生成績(jī)表”中存在多條記錄。 (3)多對(duì)多關(guān)系(M:N) 多對(duì)多聯(lián)系是指在兩個(gè)實(shí)體集間存在多對(duì)多的聯(lián)系,即A實(shí)體集表的一個(gè)實(shí)體與B實(shí)體集的多個(gè)實(shí)體相對(duì)應(yīng),反過(guò)來(lái)同樣。那么這兩個(gè)實(shí)體集之間就存在多對(duì)多的聯(lián)系,記為M:N聯(lián)系。例如:學(xué)生與課程的聯(lián)系就是M:N聯(lián)系,一個(gè)學(xué)生可選多個(gè)課程,一個(gè)課程可被多個(gè)學(xué)生選修。在數(shù)據(jù)庫(kù)中不能處理多對(duì)多關(guān)系。因此,必須增加一個(gè)“選課”實(shí)體集,將所有學(xué)生選課的實(shí)體存放在此實(shí)體集中。這樣,學(xué)生與選課實(shí)體集間存在一對(duì)多的聯(lián)系,課程和選課實(shí)體集間也存在一對(duì)多的聯(lián)系。從而,將學(xué)生與課程之間的多對(duì)多聯(lián)系,分解成了兩個(gè)一對(duì)多的聯(lián)系。在這個(gè)轉(zhuǎn)換過(guò)程中,“選課”實(shí)體集起到了橋梁
25、的作用。,2表之間的關(guān)系的建立 在數(shù)據(jù)庫(kù)中凡是涉及到多表的操作,就必須首先建立表之間的關(guān)聯(lián),比如,多表的查詢。兩表之間要建立關(guān)聯(lián),其必要條件是必須創(chuàng)建主健且兩表必須存在至少一個(gè)公共字段。所謂公共字段,就是兩表都具有的字段,我們稱(chēng)之為關(guān)鍵字段。我們以“學(xué)生信息庫(kù)”中的“學(xué)生檔案”、“課程代碼”、“學(xué)生成績(jī)”三個(gè)表為例來(lái)分析。從圖10-16可以看出,“學(xué)生成績(jī)表”通過(guò)“學(xué)號(hào)”字段可以和“學(xué)生檔案”表建立多對(duì)一的關(guān)系,“學(xué)生成績(jī)”表通過(guò)“課程代碼”字段可以和“課程代碼”表建立多對(duì)一的關(guān)系。但“課程代碼”表和“學(xué)生檔案”表是不能建立關(guān)系的,因?yàn)?,兩表之間沒(méi)有公共字段。 現(xiàn)在,我們以“學(xué)生信息庫(kù)”中的“
26、學(xué)生檔案”、“課程代碼”、“學(xué)生成績(jī)”三個(gè)表為例來(lái)說(shuō)明建立關(guān)系的方法。, 打開(kāi)相應(yīng)的數(shù)據(jù)庫(kù)“學(xué)生信息庫(kù)”。 單擊菜單“工具”、“關(guān)系”,彈出如圖10-15所示的“顯示表”對(duì)話框。,,圖10-15“顯示表”對(duì)話框, 在“顯示表”對(duì)話框中選擇將要建立關(guān)系的表,比如:“學(xué)生檔案”、“課程代碼”、“學(xué)生成績(jī)”三個(gè)表“添加”到如圖10-16所示的“關(guān)系”窗口。注意:多個(gè)連續(xù)文件的選擇用Shift+單擊,多個(gè)不連續(xù)文件的選擇用Ctrl+單擊。,,圖10-16“關(guān)系”窗口, 將“學(xué)生成績(jī)”表中的“學(xué)號(hào)”字段拖曳到“學(xué)生檔案”表的“學(xué)號(hào)”字段上,彈出如圖10-17所示“編輯關(guān)系”對(duì)話框,單擊“創(chuàng)建”按鈕。如圖
27、10-18所示,可以看到這二個(gè)表之間有一條連線,表示關(guān)系已建立。如要改變系統(tǒng)默認(rèn)的聯(lián)接類(lèi)型,可在“創(chuàng)建”之前,單擊“聯(lián)接類(lèi)型(J)”,在“聯(lián)接屬性”對(duì)話框中選擇聯(lián)接屬性,Access系統(tǒng)為關(guān)系提供了三種不同的聯(lián)接屬。,,圖10-17“編輯關(guān)系”對(duì)話框, 將“學(xué)生成績(jī)”表中的“課程代碼”字段拖曳到“課程代碼”表的“課程代碼”字段上,彈出“編輯關(guān)系”對(duì)話框,單擊“創(chuàng)建”按鈕。如圖10-18所示,可以看到這二個(gè)表之間又有一條連線,表示關(guān)系已建立。如果需要編輯、刪除關(guān)系,單擊鼠標(biāo)右健,在彈出的快捷菜單中可選擇“編輯關(guān)系”或“刪除關(guān)系”來(lái)進(jìn)行關(guān)系編輯、關(guān)系刪除的操作。,,圖10-18關(guān)系已建立窗口,4-
28、4 表記錄的瀏覽、追加、修改與刪除 打開(kāi)相應(yīng)的數(shù)據(jù)庫(kù)文件,在“數(shù)據(jù)庫(kù)”窗口中選擇對(duì)象欄中的“表”選項(xiàng),在對(duì)象列表中選擇要操作的數(shù)據(jù)表。單擊“打開(kāi)”,彈出“數(shù)據(jù)表視圖”窗口。用戶可以在“數(shù)據(jù)表視圖”窗口中瀏覽表記錄。同時(shí),在“數(shù)據(jù)表視圖”窗口中可直接進(jìn)行記錄的修改、添加。如要?jiǎng)h除記錄,可選擇要?jiǎng)h除的記錄,單擊系統(tǒng)主菜單“編輯”、“刪除記錄”。然后,在提示框中加以確認(rèn)。 請(qǐng)注意,如圖10-19所示,如果打開(kāi)的表和其它有關(guān)表建立了一多關(guān)系,則在“數(shù)據(jù)表視圖”窗口的最左端的列中會(huì)顯示有一個(gè)“+”符號(hào),單擊該“+”號(hào)將打開(kāi)與之有關(guān)聯(lián)的子數(shù)據(jù)表。這時(shí),用戶也可以同時(shí)對(duì)子數(shù)據(jù)表進(jìn)行瀏覽、添加、修改與刪除記錄
29、的操作。,,圖10-19 數(shù)據(jù)表視圖窗口,4.5 表記錄的排序 在實(shí)際應(yīng)用中經(jīng)常要求表記錄按照某個(gè)字段值的大小次序來(lái)重排記錄,“主健”和“索引”都可以改變數(shù)據(jù)表記錄的排列次序?,F(xiàn)在,我們學(xué)習(xí)另一種改變表記錄排列次序的方法;排序。排序是按照某個(gè)字段值的大小,以升序或降序方式重排記錄。值的大小原則是,日期和時(shí)間后為大,字母不區(qū)分大、小寫(xiě)后為大,中文以其對(duì)應(yīng)的拼音字母次序排序。 我們以“學(xué)生檔案表”的“出生日期”字段的升序?yàn)槔齺?lái)說(shuō)明建立排序的方法。 打開(kāi)“學(xué)生信息庫(kù)”數(shù)據(jù)庫(kù)文件,在“數(shù)據(jù)庫(kù)”窗口中選擇對(duì)象欄中的“表”選項(xiàng),在對(duì)象列表中選擇“學(xué)生檔案表”數(shù)據(jù)表。單擊“打開(kāi)”,在彈出“數(shù)據(jù)表視圖”窗
30、口,單擊“出生日期”字段標(biāo)題單元格,這時(shí)“出生日期”字段所在的列反白顯示,表示該字段已被選中。 單擊系統(tǒng)工具欄中的升序“ ”或降序“ ”按鈕或者選擇系統(tǒng)菜單欄中的“記錄”、“排序”、在“升序/降序”中選擇“升序”。表記錄會(huì)按照選定的字段的升序/降序重排記錄。結(jié)果如圖10-20所示。,,,,圖10-20 以出生日期升序排序結(jié)果,4.6 表記錄的查找與篩選 1查找 查找就是按照某種條件,對(duì)表或查詢文件中的記錄進(jìn)行數(shù)據(jù)檢索,并把光標(biāo)定位到滿足條件的某個(gè)記錄。我們以“學(xué)生檔案表”為例,查找學(xué)號(hào)為“9921201”的學(xué)生來(lái)說(shuō)明查找的操作步驟。 在“學(xué)生信息庫(kù)”窗口中打開(kāi)“學(xué)生檔案表”,彈出“學(xué)生檔案表
31、_數(shù)據(jù)表視圖”。 單擊系統(tǒng)工具欄中的查找按鈕“”,在圖10-21“查找和替換”對(duì)話框的“查找內(nèi)容(N)”文本框內(nèi)輸入要查找的內(nèi)容,如“9921201”。,,圖10-21“查找和替換”對(duì)話框, 在“查找范圍(L)”列表框中選擇“學(xué)生檔案表”。如果打開(kāi)表之后,已經(jīng)把光標(biāo)定位在“學(xué)號(hào)”字段上,則可以不用選擇“查找范圍”。 在“匹配(H)”列表框中選擇匹配方式:字段的任何部分(查找的內(nèi)容只要是字段數(shù)據(jù)中的一個(gè)子集)、字段開(kāi)頭(查找的內(nèi)容只是字段數(shù)據(jù)的一個(gè)左子串)、整個(gè)字段(查找的內(nèi)容與字段數(shù)據(jù)完全相等)。本例要查找的是學(xué)號(hào),應(yīng)選擇“整個(gè)字段”。 單擊“高級(jí)(M)”按鈕,在彈出的圖10-22窗口中可進(jìn)行
32、“區(qū)分大小寫(xiě)(C)”的選擇或“搜索(S)”范圍的選擇。,,圖10-22 高級(jí)窗口, 單擊“查找下一個(gè)”按鈕,開(kāi)始查找。如果找到,如圖10-23所示光標(biāo)將定位在該記錄上。這時(shí),用戶可以對(duì)該記錄進(jìn)行編輯、修改等操作。,,圖10-23 查找結(jié)果,2篩選 查找只能把光標(biāo)定位到滿足條件的一個(gè)記錄上,而篩選能夠以數(shù)據(jù)表的形式返回一組滿足條件記錄集。篩選的數(shù)據(jù)源可以是表或查詢文件,篩選是把符合條件的記錄全部挑選出來(lái),而把不符合條件的記錄過(guò)濾掉。 Access提供了如圖10-24所示的四種篩選方式:按選定內(nèi)容篩選、內(nèi)容排除篩選、按窗體篩選或高級(jí)篩選/排序。,,圖10-24 四種篩選方式,我們以“學(xué)生選課成
33、績(jī)”查詢文件為例,用高級(jí)篩選/排序的方式篩選“99212”班、“數(shù)據(jù)庫(kù)技術(shù)”課程、“成績(jī)”大于等于80分的學(xué)生。 打開(kāi)“學(xué)生信息庫(kù)”數(shù)據(jù)庫(kù)文件,在“數(shù)據(jù)庫(kù)”窗口中選擇對(duì)象欄中的“查詢”選項(xiàng)。在對(duì)象列表中選擇“學(xué)生選課成績(jī)”查詢文件。單擊“打開(kāi)”,彈出“學(xué)生選課成績(jī):選擇查詢”窗口。 單擊系統(tǒng)主菜單上的“記錄”、“篩選”、“高級(jí)篩選/排序”選項(xiàng),彈出如圖10-25“高級(jí)篩選/排序”窗口。在“高級(jí)篩選/排序”窗口中選擇輸入篩選條件,其中“字段”是用來(lái)選擇需要設(shè)定條件的字段,“排序”是用來(lái)對(duì)選定的字段設(shè)置排序方式,準(zhǔn)則是用來(lái)設(shè)置篩選條件的,列之間是“邏輯與”的關(guān)系,行之間是“邏輯或”的關(guān)系。,圖10
34、-25 “高級(jí)篩選/排序”窗口, 單擊系統(tǒng)菜單上的“篩選(R)”、“應(yīng)用篩選/排序(Y)”,篩選的結(jié)果如圖10-26所示。 如果不要保存篩選的結(jié)果,則單擊系統(tǒng)菜單上的“記錄(R)”、“取消篩選/排序(R)”,“學(xué)生選課成績(jī)”查詢文件的數(shù)據(jù)不被改變。如果需要保存篩選結(jié)果,則可單擊“保存”或“另存為”命令。,,圖10-26 篩選結(jié)果,五、查詢,5.1 創(chuàng)建查詢 查詢與篩選有些相似,也是按照用戶的要求輸出符合條件的記錄。查詢與篩選不同的是,查詢的數(shù)據(jù)源可以來(lái)自多個(gè)相關(guān)聯(lián)的表。而且,可以將多個(gè)表中的字段數(shù)據(jù)組合在一起,生成計(jì)算字段、總計(jì)和組合數(shù)據(jù)。 查詢的結(jié)果是按照設(shè)置的條件和選擇的字段產(chǎn)生一個(gè)數(shù)據(jù)表
35、視圖,數(shù)據(jù)表視圖與表一樣可以作為窗體和報(bào)表的數(shù)據(jù)源,其操作與表也基本相同。需要說(shuō)明的是,基表和數(shù)據(jù)表視圖中的數(shù)據(jù)是相互影響的。在查詢的“數(shù)據(jù)表視圖”窗口中對(duì)數(shù)據(jù)進(jìn)行的修改、追加、刪除等操作都將影響其基表中的數(shù)據(jù)。而基表中的數(shù)據(jù)發(fā)生改變時(shí),視圖中的數(shù)據(jù)也會(huì)發(fā)生改變。 查詢分為單表查詢和多表查詢二種,單表查詢是指查詢的數(shù)據(jù)來(lái)自一個(gè)表,多表查詢是指數(shù)據(jù)來(lái)自多個(gè)相互之間已經(jīng)建立了“關(guān)系”的表。就是說(shuō),多表查詢必須將多表建立關(guān)聯(lián)。 在Access中建立查詢有多種方法,一是“在設(shè)計(jì)視圖中創(chuàng)建查詢”,另一種是“使用向?qū)?chuàng)建查詢”。同時(shí),Access也支持Sql(Structured Query Langua
36、ge)結(jié)構(gòu)化查詢語(yǔ)言。,1在設(shè)計(jì)視圖中創(chuàng)建查詢 (1)創(chuàng)建選擇查詢 以查詢課程名稱(chēng)為“數(shù)據(jù)庫(kù)技術(shù)”或“VB程序設(shè)計(jì)”且成績(jī)=80的記錄為例,來(lái)說(shuō)明在設(shè)計(jì)視圖中創(chuàng)建查詢的方法。 打開(kāi)“學(xué)生信息庫(kù)”數(shù)據(jù)庫(kù),在“數(shù)據(jù)庫(kù)”窗口右側(cè)“對(duì)象”框中單擊“查詢”,選擇“在設(shè)計(jì)視圖中創(chuàng)建查詢”,單擊“新建”,彈出圖10-27“新建查詢”對(duì)話框。,,圖10-27“新建查詢”對(duì)話框, 在“新建查詢”對(duì)話框中選擇“設(shè)計(jì)視圖”方式,單擊“確定”,彈出圖10-28“設(shè)計(jì)查詢”窗口。,, 在“顯示表”對(duì)話框中按照查詢的要求,選擇一個(gè)表或多個(gè)表(多表的選擇可以用Shift鍵或Ctrl健配合)。然后,單擊“添加”、“關(guān)閉”,關(guān)
37、閉“顯示表”對(duì)話框。 如圖10-29所示參與查詢的表被添加到“選擇查詢”窗口。請(qǐng)注意,如果多表之間沒(méi)有建立關(guān)系,可用拖曳方法臨時(shí)建立。 在“選擇查詢”窗口下部選擇字段、確定排序的方式、輸入選擇條件。本例選擇了班級(jí)、學(xué)號(hào)、姓名、課程名稱(chēng)、成績(jī)四個(gè)字段并且以成績(jī)的降序排列。準(zhǔn)則是用來(lái)設(shè)置篩選條件的,列之間是“邏輯與”的關(guān)系,行之間是“邏輯或”的關(guān)系。 輸入選擇條件為班級(jí)=”99212”,課程名稱(chēng)=”數(shù)據(jù)庫(kù)技術(shù)”且成績(jī)=80或者班級(jí)=”99212”,課程名稱(chēng)=”VB程序設(shè)計(jì)”且成績(jī)=80。這時(shí),單擊系統(tǒng)工具欄中的運(yùn)行按鈕“ ”,結(jié)果如圖10-30所示。,,,圖10-29“選擇查詢”窗口,圖10-30
38、 查詢運(yùn)行結(jié)果, 然后,單擊主菜單的“文件”、“保存”,如圖10-31所示在“另存為”對(duì)話框輸入文件名。最后,關(guān)閉“選擇查詢”窗口,如圖10-32所示在“數(shù)據(jù)庫(kù)”窗口中“成績(jī)大于80的學(xué)生”查詢被建立。,,圖10-31 保存文件,,圖10-32“數(shù)據(jù)庫(kù)”窗口,(2)創(chuàng)建帶參數(shù)的查詢 帶參數(shù)的查詢是Access查詢的一個(gè)最重要的特征。參數(shù)也是準(zhǔn)則,不同的是準(zhǔn)則是在創(chuàng)建查詢時(shí)設(shè)置的,而參數(shù)是在運(yùn)行或打開(kāi)查詢時(shí)輸入的。 創(chuàng)建帶參數(shù)的查詢與選擇查詢的創(chuàng)建方法基本相同,只是準(zhǔn)則的設(shè)置方式不同。我們以按“學(xué)號(hào)”和“課程名稱(chēng)”查詢?yōu)槔齺?lái)說(shuō)明準(zhǔn)則的設(shè)置。,,圖10-33帶參數(shù)的查詢準(zhǔn)則的設(shè)置,從圖10-3
39、3中可以看到,“學(xué)號(hào)”準(zhǔn)則的設(shè)置為請(qǐng)輸入要查詢成績(jī)的學(xué)號(hào):,“課程名稱(chēng)” 準(zhǔn)則的設(shè)置為請(qǐng)輸入要查詢成績(jī)的課程名稱(chēng):,在設(shè)置帶參數(shù)的準(zhǔn)則時(shí),提示信息一定要用方括號(hào)“”括起來(lái)。 當(dāng)運(yùn)行或打開(kāi)查詢時(shí)會(huì)給出圖10-34提示,請(qǐng)用戶輸入“學(xué)號(hào)”和“課程名稱(chēng)”參數(shù),運(yùn)行結(jié)果如圖10-35所示。,,,,圖10-34輸入?yún)?shù)值提示窗口,圖10-35 運(yùn)行結(jié)果,(3)創(chuàng)建統(tǒng)計(jì)查詢 統(tǒng)計(jì)查詢與“選擇查詢”和“帶參數(shù)的查詢 的創(chuàng)建方法也基本相同,只是在打開(kāi)“設(shè)計(jì)查詢”窗口后,要單擊系統(tǒng)工具欄中的“合計(jì)” 按鈕,這時(shí)在“設(shè)計(jì)視圖”窗口的設(shè)計(jì)區(qū)會(huì)增加一行“總計(jì)”欄。我們以按“班級(jí)”和“課程名稱(chēng)”作為分組項(xiàng)統(tǒng)計(jì)課程的
40、平均成績(jī)、最高成績(jī)、最低成績(jī)、標(biāo)準(zhǔn)偏差為例來(lái)說(shuō)明統(tǒng)計(jì)查詢的設(shè)計(jì)方法。 首先在“班級(jí)”和“課程名稱(chēng)”的總計(jì)框中選擇Group By。然后,分別在其它的四個(gè)字段的總計(jì)框中選擇Avg、Max、Min、Stdev函數(shù)求平均成績(jī)、最高成績(jī)、最低成績(jī)、標(biāo)準(zhǔn)偏差。在準(zhǔn)則中輸入請(qǐng)輸入課程名稱(chēng):。其設(shè)計(jì)界面如圖10-36,運(yùn)行結(jié)果如圖10-37所示。,,,圖10-36 統(tǒng)計(jì)查詢?cè)O(shè)計(jì)界面,,圖10-37 統(tǒng)計(jì)查詢運(yùn)行結(jié)果,2使用向?qū)?chuàng)建查詢 打開(kāi)相應(yīng)的數(shù)據(jù)庫(kù),在“數(shù)據(jù)庫(kù)”窗口右側(cè)“對(duì)象”框中單擊“查詢”,選擇“使用向?qū)?chuàng)建查詢”,單擊“新建”,彈出“新建查詢”對(duì)話框。 在“新建查詢”對(duì)話框中選擇新建“簡(jiǎn)單查詢
41、向?qū)А狈绞剑瑔螕簟按_定”,彈出圖10-38“簡(jiǎn)單查詢向?qū)А贝翱凇?,圖10-38“簡(jiǎn)單查詢向?qū)А贝翱? 在“簡(jiǎn)單查詢向?qū)А贝翱诘摹氨?查詢”列框中選擇表,在“可用字段(A)”中雙擊需要的字段到“選定的字段(S)”框中,單擊“下一步”,彈出圖10-39“簡(jiǎn)單查詢向?qū)А贝翱凇?圖10-39“簡(jiǎn)單查詢向?qū)А贝翱? 在“簡(jiǎn)單查詢向?qū)А贝翱谥羞x擇“明細(xì)”或“匯總”,本例選擇“匯總”,單擊“匯總選項(xiàng)”,彈出圖10-40“匯總選項(xiàng)”窗口。,圖10-40“匯總選項(xiàng)”窗口, 選擇匯總類(lèi)型,如本例選擇“平均”、“最小值”、“最大值”。單擊“確定”,返回圖10-37“簡(jiǎn)單查詢向?qū)А贝翱?,單擊“下一步”,彈出圖10-
42、41“簡(jiǎn)單查詢向?qū)А贝翱?。單擊“完成”,顯示如圖10-42所示的匯總結(jié)果。,,圖10-41“簡(jiǎn)單查詢向?qū)А贝翱?,圖10-42 匯總結(jié)果,5.2 查詢的運(yùn)行 在“查詢?cè)O(shè)計(jì)”界面可單擊系統(tǒng)菜單的“查詢”、“運(yùn)行”,也可單擊工具欄的運(yùn)行按鈕。我們知道,查詢產(chǎn)生一個(gè)數(shù)據(jù)表視圖,數(shù)據(jù)表視圖的操作與表是基本相同。在“數(shù)據(jù)庫(kù)”界面可單擊“對(duì)象”列表中的“查詢”,再選擇相應(yīng)的查詢文件,單擊菜單欄中的“打開(kāi)”。,六、Sql結(jié)構(gòu)化查詢語(yǔ)言,Sql(Structured Query Language)結(jié)構(gòu)化查詢語(yǔ)言是1994年由Boyce和Chamberlin研制的。由于它功能豐富、使用方法靈活、語(yǔ)音簡(jiǎn)潔易學(xué)、
43、適用語(yǔ)言廣,在1987年成為一種操作關(guān)系數(shù)據(jù)庫(kù)的國(guó)際化工業(yè)標(biāo)準(zhǔn)語(yǔ)言。采用Sql作為共同的數(shù)據(jù)存取語(yǔ)言和標(biāo)準(zhǔn)接口,使得不同的數(shù)據(jù)庫(kù)管理系統(tǒng)之間的相互操作成為可能。 結(jié)構(gòu)化查詢語(yǔ)言Sql常用的語(yǔ)句有兩類(lèi):一是數(shù)據(jù)查詢命令Select;二是數(shù)據(jù)更新命令;三是建立、修改和刪除數(shù)據(jù)表的命令。這些命令是各種高級(jí)語(yǔ)言應(yīng)用程序操作數(shù)據(jù)庫(kù)的重要命令。我們以Access為例來(lái)介紹結(jié)構(gòu)化查詢語(yǔ)言Sql。,6.1 數(shù)據(jù)更新命令 數(shù)據(jù)更新命令包括Insert(追加),Delete(刪除)和Update(更新)命令。 1追加記錄 用于在數(shù)據(jù)表的末尾追加一條記錄。 格式一 Insert Into (字段名1,字段名2,)
44、Values (表達(dá)式1,表達(dá)式2) 格式二 Insert Into 表名 (字段名1,字段名2,) From Array 數(shù)組名 參數(shù)說(shuō)明: Insert總是在數(shù)據(jù)表的末尾追加一條記錄,即使在Insert命令之前執(zhí)行g(shù)o命令也不能定位插入。 如果選擇字段參數(shù)表(字段名1,字段名2,),則將數(shù)組各元素的值依次賦給指定的字段。否則,將數(shù)組各元素的值依次賦給表結(jié)構(gòu)定義的字段。 例如:Insert Into 用戶表 (用戶名,密碼) Values(“汪成功”,”2006123”),2邏輯刪除表記錄 給表中滿足過(guò)濾條件的記錄作刪除標(biāo)記。 Delete From Where 過(guò)濾條件1 .And./.O
45、r. 過(guò)濾條件1 參數(shù)說(shuō)明: 過(guò)濾條件之間可以用And或Or來(lái)進(jìn)行條件選擇。 例如:Delete From 學(xué)生檔案表 where 學(xué)號(hào)=9832102 From 數(shù)據(jù)表名1 , 數(shù)據(jù)表名2.. , 數(shù)據(jù)表名n; Where 連接條件1 And 連接條件2.. And 連接條件n And 過(guò)濾條件1 And/Or 過(guò)濾條件2.... And/Or 過(guò)濾條件n; Order By 排序項(xiàng)目 Asc/Desc,排序項(xiàng) Asc/Desc... Group By 分組項(xiàng),分組項(xiàng).. Having 篩選條件 參數(shù)說(shuō)明: :多個(gè)項(xiàng)目之間用逗號(hào)“,”分隔。選項(xiàng)有下述表示形式:可以是From 數(shù)據(jù)表文件中的字
46、段名或者由字段名、常量、函數(shù)、運(yùn)算符組成的有效表達(dá)式;可以是“*”號(hào),表示選擇數(shù)據(jù)表或視圖文件中的所有字段;可以是表字段與Sql函數(shù)組成的表達(dá)式,形成一個(gè)虛字段進(jìn)行各種統(tǒng)計(jì)和運(yùn)算。,Sql函數(shù)包括: Avg (字段名):求一列數(shù)據(jù)的平均值;Min (字段名):輸出列中的最小值;Max (字段名):輸出列中的最大值等等。 As :如果選項(xiàng)名不能完全或準(zhǔn)確地表達(dá)含義,可用As另起標(biāo)題名。在顯示時(shí),As會(huì)代替選項(xiàng)名。 From :打開(kāi)要進(jìn)行查詢的數(shù)據(jù)表文件名 Where子句:Where子句不僅可以描述連接條件,而且,可以表述過(guò)濾條件,具有連接條件和過(guò)濾條件兩個(gè)功能。連接條件的作用是將若干個(gè)數(shù)據(jù)表通過(guò)
47、兩兩數(shù)據(jù)表的公共字段建立關(guān)聯(lián),實(shí)現(xiàn)多表之間的連接。如果有三個(gè)以上數(shù)據(jù)表要建立關(guān)聯(lián),則必須用多個(gè)連接條件來(lái)描述,多個(gè)連接條件之間用And來(lái)連接。過(guò)濾條件子句用來(lái)描述對(duì)查詢結(jié)果設(shè)置限定條件,使符合過(guò)濾條件的記錄參與命令的操作。多個(gè)過(guò)濾條件之間,可根據(jù)邏輯條件用And或Or來(lái)連接。請(qǐng)注意,連接條件和過(guò)濾條件之間必須用And連接。而且,不論是過(guò)濾條件,還是連接條件中的有關(guān)字段也都必須注明數(shù)據(jù)表名。, By 必須是主Select 的字段名或表達(dá)式。有多個(gè)排序項(xiàng)目時(shí),用逗號(hào)“,”分隔。降序用Desc表示,升序用Asc表示,Asc是默認(rèn)值。 Group By 給出篩選的限定條件,且必須與一致。 例題:查詢指
48、定課程并且成績(jī)大于85學(xué)生,要求按成績(jī)的降序排列。 Select 學(xué)生檔案.學(xué)號(hào), 學(xué)生檔案.姓名, 課程代碼.課程名稱(chēng), 學(xué)生成績(jī).成績(jī) From 課程代碼,學(xué)生成績(jī),學(xué)生檔案 Where 課程代碼.課程代碼=學(xué)生成績(jī).課程代碼 And 學(xué)生成績(jī).學(xué)號(hào)=學(xué)生檔案.學(xué)號(hào) And 課程代碼.課程名稱(chēng)=請(qǐng)輸入要查詢的課程名稱(chēng): And 學(xué)生成績(jī).成績(jī)85 Order By 學(xué)生成績(jī).成績(jī) Desc,(2)命令格式二 Select數(shù)據(jù)表名.選項(xiàng)1 As ,數(shù)據(jù)表名.選項(xiàng)2 As ,數(shù)據(jù)表名.選項(xiàng)n As; From (數(shù)據(jù)表1 Inner Join 數(shù)據(jù)表2 On ) Inner Join 數(shù)據(jù)表3
49、 On ; Where And/Or And/Or ; Order By Asc/Desc , Asc/Desc... Group By ,.. Having 參數(shù)說(shuō)明: From (數(shù)據(jù)表1 Inner Join 數(shù)據(jù)表2 On ):打開(kāi)并通過(guò)建立數(shù)據(jù)表1與數(shù)據(jù)表2的關(guān)聯(lián)。 Inner Join 數(shù)據(jù)表3 On 打開(kāi)并通過(guò)建立數(shù)據(jù)表2與數(shù)據(jù)表3的關(guān)聯(lián)。,例題:按班級(jí)統(tǒng)計(jì)任意課程的平均成績(jī)、最高成績(jī)、最低成績(jī)。 Select 學(xué)生檔案.班級(jí),課程代碼.課程名稱(chēng), Avg(學(xué)生成績(jī).成績(jī)) As 平均成績(jī), Max(學(xué)生成績(jī).成績(jī)) As 最高成績(jī), Min(學(xué)生成績(jī).成績(jī)) As 最低成績(jī)
50、From (課程代碼 Inner Join 學(xué)生成績(jī) On 課程代碼.課程代碼=學(xué)生成績(jī).課程代碼) Inner Join 學(xué)生檔案 On 學(xué)生成績(jī).學(xué)號(hào)=學(xué)生檔案.學(xué)號(hào) Where 課程代碼.課程名稱(chēng)=請(qǐng)輸入要查詢課程名稱(chēng): Group By 學(xué)生檔案.班級(jí), 課程代碼.課程名稱(chēng) Having 學(xué)生檔案.班級(jí)=請(qǐng)輸入要統(tǒng)計(jì)成績(jī)的班級(jí): 例題:按學(xué)號(hào)查詢?nèi)我庹n程的成績(jī)。 Select 學(xué)生檔案.學(xué)號(hào), 學(xué)生檔案.姓名, 課程代碼.課程名稱(chēng), 學(xué)生成績(jī).成績(jī) From (課程代碼 Inner Join 學(xué)生成績(jī) On 課程代碼.課程代碼=學(xué)生成績(jī).課程代碼) Inner Join 學(xué)生檔案 On
51、 學(xué)生成績(jī).學(xué)號(hào)=學(xué)生檔案.學(xué)號(hào) Where 學(xué)生檔案.學(xué)號(hào)=請(qǐng)輸入要查詢成績(jī)的學(xué)號(hào): And 課程代碼.課程名稱(chēng)=請(qǐng)輸入要查詢成績(jī)的課程名稱(chēng):,6.3 SQL的建立、修改和刪除數(shù)據(jù)表的命令 1數(shù)據(jù)表的定義 用于定義數(shù)據(jù)表的結(jié)構(gòu)。 Create Table ( () (<,小數(shù)位.) 參數(shù)說(shuō)明: 特別注意字段名與類(lèi)型要有一空格符,各字段之間用逗號(hào)“,”分隔。 例如:Create Table 教師代碼表(教師代碼 Char(4),教師姓名 Char(8),教師職稱(chēng) Char(10),性別 Char(2),年齡 Smallint,系別代碼 Char(3)),2表結(jié)構(gòu)的修改 用于增加數(shù)據(jù)表字段、修
52、改數(shù)據(jù)表字段的數(shù)據(jù)類(lèi)型、寬度。 Alter Table 字段名1 類(lèi)型(寬度,小數(shù)位) 參數(shù)說(shuō)明: Add用于向表增加字段,Alter用于修改原有字段, Drop用于刪除字段。 例如:Alter Table 課程代碼表 Add 學(xué)分 Integer &&向課程代碼表增加學(xué)分字段。 例如:Alter Table 課程代碼表 Alter 學(xué)分 Integer &&對(duì)課程代碼表學(xué)分字段進(jìn)行修改。,3表的刪除 用于刪除數(shù)據(jù)表。 Drop Table 參數(shù)說(shuō)明: Drop是徹底刪除數(shù)據(jù)表,刪除后.不保留在回收站。 例如:Drop Table 密碼表,七、窗體,窗體是Access中的一種容器類(lèi)對(duì)象,它提供
53、了友好的設(shè)計(jì)界面。如圖10-42所示,程序員可以從工具箱中選擇需要的對(duì)象,諸如標(biāo)簽、文本框、組合框、列表框、單選按鈕、復(fù)選按鈕、圖象、命令按鈕等對(duì)象添加到窗體中,在實(shí)際應(yīng)用中窗體一般被用于創(chuàng)建用戶界面。 7.1 創(chuàng)建窗體 創(chuàng)建窗體有兩種方法,一是“在設(shè)計(jì)視圖中創(chuàng)建窗體”,另一種是“使用向?qū)?chuàng)建窗體”。主要的窗體類(lèi)型有“設(shè)計(jì)視圖”、“窗體向?qū)А?、“自?dòng)創(chuàng)建窗體:縱欄式”、“自動(dòng)創(chuàng)建窗體:表格式”、“自動(dòng)創(chuàng)建窗體:數(shù)據(jù)表”、“圖表向?qū)А薄ⅰ皵?shù)據(jù)透視表向?qū)А薄?1利用“窗體向?qū)А眲?chuàng)建窗體 我們以創(chuàng)建課程代碼窗體為例說(shuō)明利用“窗體向?qū)А眲?chuàng)建窗體的步驟。 打開(kāi)“學(xué)生信息庫(kù)”數(shù)據(jù)庫(kù),在“數(shù)據(jù)庫(kù)”窗口右側(cè)
54、“對(duì)象”框中單擊“窗體”,選擇“使用向?qū)?chuàng)建窗體”,單擊“新建”,彈出圖10-44“新建窗體”對(duì)話框。,圖10-44“新建窗體”對(duì)話框, 在“新建窗體”對(duì)話框中選擇新建“窗體向?qū)А狈绞胶蛿?shù)據(jù)源(數(shù)據(jù)源可以是表或查詢)單擊“確定”,彈出圖10-45“窗體向?qū)А贝翱凇?圖10-45“窗體向?qū)А贝翱? 在“窗體向?qū)А贝翱谥羞x擇窗體上需要使用的字段,字段可以從多個(gè)表或查詢文件中選取。單擊“下一步”。彈出圖10-46“窗體向?qū)А贝翱冢_定窗體使用的布局,默認(rèn)為“縱欄表(C)”。單擊“下一步”,確定窗體使用的“樣式”,默認(rèn)為“標(biāo)準(zhǔn)”。 單擊“下一步”,彈出圖10-47“窗體向?qū)А贝翱?,為窗體指定標(biāo)題,單擊
55、“完成”。顯示圖10-48“選課瀏覽”縱欄式標(biāo)準(zhǔn)窗體,用戶可以瀏覽課程。,圖10-46“窗體向?qū)А贝翱?圖10-47“窗體向?qū)А贝翱?圖10-48“選課瀏覽”縱欄式標(biāo)準(zhǔn)窗體,2用設(shè)計(jì)視圖創(chuàng)建窗體 一般情況下,如果以表或查詢?yōu)閿?shù)據(jù)源來(lái)創(chuàng)建窗體,可以使用向?qū)?lái)創(chuàng)建。但對(duì)于要設(shè)計(jì)的窗體不是直接依賴(lài)表或查詢作為數(shù)據(jù)源,而是要啟動(dòng)另一個(gè)對(duì)象或進(jìn)行其它操作,這就需要使用“設(shè)計(jì)視圖”來(lái)設(shè)計(jì)窗體。 我們以圖10-49示例窗體為例來(lái)說(shuō)明用“設(shè)計(jì)視圖”來(lái)設(shè)計(jì)窗體的步驟。,圖10-49 窗體示例, 打開(kāi)“學(xué)生信息庫(kù)”數(shù)據(jù)庫(kù),在“數(shù)據(jù)庫(kù)”窗口右側(cè)“對(duì)象”框中單擊“窗體”,選擇“在設(shè)計(jì)視圖中創(chuàng)建窗體”,單擊“新建”,彈
56、出圖10-50“新建窗體”對(duì)話框。,圖10-50“新建窗體”對(duì)話框, 在“新建窗體”對(duì)話框中選擇新建“設(shè)計(jì)視圖”方式單擊“確定”,彈出圖10-51“設(shè)計(jì)視圖”窗口。從工具箱中拖曳“標(biāo)簽”對(duì)象到“設(shè)計(jì)視圖”主體窗口適當(dāng)位置上并調(diào)整標(biāo)簽的大小。輸入“學(xué)生選修課程管理系統(tǒng)”并設(shè)置字體的大小或顏色。 單擊激活工具箱中的“控件向?qū)А薄?然后,從工具箱中拖曳“命令”對(duì)象到“設(shè)計(jì)視圖”主體窗口適當(dāng)位置上并調(diào)整大小,彈出圖10-52“命令按鈕向?qū)А睂?duì)話框。,圖10-51“設(shè)計(jì)視圖”窗口, 在圖10-52“命令按鈕向?qū)А睂?duì)話框中,選擇命令按鈕的類(lèi)別和操作方式。Access有“記錄瀏覽”、“記錄操作”、“窗體操作
57、”、“報(bào)表操作”、“應(yīng)用程序”、“雜項(xiàng)”等六種類(lèi)別的命令按鈕,各種類(lèi)別的按鈕有特定的一組操作方式,用戶可根據(jù)需要選擇。本例“類(lèi)別”選擇“雜項(xiàng)”,“操作”選擇“運(yùn)行查詢”。然后,單擊“下一步”,彈出圖10-53“命令按鈕向?qū)А睂?duì)話框。,圖10-52“命令按鈕向?qū)А睂?duì)話框,圖10-53“命令按鈕向?qū)А睂?duì)話框, 在圖10-53“命令按鈕向?qū)А睂?duì)話框中選擇要運(yùn)行的查詢文件“瀏覽選修課程”。單擊“下一步”,彈出圖10-54“命令按鈕向?qū)А睂?duì)話框。確定在命令按鈕上顯示文本還是顯示圖片,本例顯示文本,輸入“瀏覽選修課程”。單擊“下一步”,彈出圖10-55“命令按鈕向?qū)А睂?duì)話框。,圖10-55“命令按鈕向?qū)А?/p>
58、對(duì)話框,圖10-54“命令按鈕向?qū)А睂?duì)話框, 在圖10-55“命令按鈕向?qū)А睂?duì)話框中指定命令按鈕的引用名稱(chēng)為“Command1”。到此,實(shí)現(xiàn)瀏覽選修課程功能的命令按鈕Command1設(shè)計(jì)結(jié)束,單擊“完成”。 “學(xué)生成績(jī)查詢”與“班級(jí)成績(jī)統(tǒng)計(jì)”命令按鈕的設(shè)計(jì)與“瀏覽選修課程”命令按鈕的設(shè)計(jì)基本相同,只是選擇運(yùn)行的查詢文件不同、按鈕的文本內(nèi)容不同以及按鈕的引用名稱(chēng)。而“關(guān)閉窗體”命令按鈕的設(shè)計(jì)有較大的不同,所選擇的類(lèi)別為“窗體操作”、操作方式為“關(guān)閉窗體”。,八、創(chuàng)建報(bào)表,窗體主要用于在一個(gè)事務(wù)處理中輸入或查詢記錄,而報(bào)表是用來(lái)顯示或打印數(shù)據(jù)的定制對(duì)象。報(bào)表可以使用同樣的空間容納包括數(shù)據(jù)的匯總、統(tǒng)
59、計(jì)、圖片等更多的數(shù)據(jù)。報(bào)表中的大多數(shù)信息來(lái)自于基礎(chǔ)表、查詢或SQL語(yǔ)句,報(bào)表其他信息存儲(chǔ)在報(bào)表文件中。 Access系統(tǒng)提供了功能強(qiáng)大且容易使用的報(bào)表向?qū)?,使用?bào)表向?qū)Э梢陨煽v欄式、表格式、組合、合計(jì)和匯總式、圖表式等多種類(lèi)型的報(bào)表。 創(chuàng)建報(bào)表有“設(shè)計(jì)視圖”、“報(bào)表向?qū)А薄ⅰ白詣?dòng)創(chuàng)建報(bào)表”、“圖表向?qū)А焙汀皹?biāo)簽向?qū)А钡确椒ā?1使用“自動(dòng)創(chuàng)建報(bào)表”創(chuàng)建報(bào)表 使用“自動(dòng)創(chuàng)建報(bào)表”用戶可以選擇數(shù)據(jù)源和縱欄式或表格式版面,“自動(dòng)創(chuàng)建報(bào)表”使用了數(shù)據(jù)源中的所有字段并應(yīng)用最近報(bào)表的自動(dòng)格式來(lái)創(chuàng)建報(bào)表。我們以學(xué)生選課成績(jī)?yōu)槔齺?lái)說(shuō)明報(bào)表創(chuàng)建的操作步驟。 打開(kāi)“學(xué)生信息庫(kù)”數(shù)據(jù)庫(kù),在“數(shù)據(jù)庫(kù)”窗口右側(cè)“對(duì)象
60、”框中選擇“報(bào)表”,單擊“新建”,彈出圖10-56“新建報(bào)表”對(duì)話框。 在“新建報(bào)表”對(duì)話框中選擇“自動(dòng)創(chuàng)建報(bào)表:縱欄式”或“自動(dòng)創(chuàng)建報(bào)表表格式”,方式,并在“請(qǐng)選擇該對(duì)象數(shù)據(jù)的來(lái)源表或查詢”列表中選擇建立報(bào)表所依賴(lài)的表或查詢文件。單擊“確定”按鈕。,2使用“報(bào)表向?qū)А眲?chuàng)建報(bào)表 自動(dòng)創(chuàng)建報(bào)表雖然簡(jiǎn)單、快捷,但用用戶對(duì)所選擇的表或查詢文件的字段進(jìn)行選擇。報(bào)表向?qū)Р粌H會(huì)不斷地提示用戶,還可以選擇有關(guān)數(shù)據(jù)源的字段,對(duì)記錄進(jìn)行分組、排序以及確定匯總選項(xiàng),系統(tǒng)根據(jù)用戶的回答來(lái)創(chuàng)建報(bào)表。,圖10-56“新建報(bào)表”對(duì)話框,3使用“設(shè)計(jì)視圖”創(chuàng)建報(bào)表 使用“自動(dòng)創(chuàng)建”和使用“報(bào)表向?qū)А眲?chuàng)建的報(bào)表都有它的局限
61、性。如果要?jiǎng)?chuàng)建特定格式的報(bào)表,就需要使用“設(shè)計(jì)視圖”方式來(lái)創(chuàng)建報(bào)表。使用“設(shè)計(jì)視圖”創(chuàng)建報(bào)表,對(duì)于不同形式的報(bào)表其操作步驟會(huì)有所不同,用戶應(yīng)根據(jù)報(bào)表的實(shí)際需要執(zhí)行相應(yīng)的操作。 在“新建報(bào)表”對(duì)話框中選擇“設(shè)計(jì)視圖”方式,并確定與報(bào)表綁定的數(shù)據(jù)源,單擊“確定”,彈出圖10-57所示的“設(shè)計(jì)視圖”窗口。 在“字段列表”小窗口中選擇報(bào)表需要的字段并把它拖曳到報(bào)表的“主體”節(jié)中,并調(diào)整它們的大小、位置。一個(gè)字段會(huì)在報(bào)表的“主體”節(jié)中產(chǎn)生一個(gè)標(biāo)簽對(duì)象和文本框?qū)ο蟆?biāo)簽對(duì)象顯示字段名、文本框?qū)ο箫@示字段內(nèi)容。 如果需要對(duì)記錄進(jìn)行排序與分組,單擊“視圖”、“排序與分組”。 如果需要采用一行一條記錄的格式,并且字段名只顯示在報(bào)表的第一行上,應(yīng)將報(bào)表“主體”節(jié)中的標(biāo)簽對(duì)象“剪切”并“粘貼”到“頁(yè)面頁(yè)眉”的任意位置。,圖10-57“設(shè)計(jì)視圖”窗口, 如果需要對(duì)報(bào)表中顯示的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、計(jì)算匯總,可以在報(bào)表相應(yīng)的位置上添加一些計(jì)算控件。通常用標(biāo)簽對(duì)象顯示標(biāo)題,用文本框?qū)ο筝斎胗?jì)算公式。注意,必須以等號(hào)“=”開(kāi)始。行(記錄)的統(tǒng)計(jì)通常把計(jì)算控件安排在報(bào)表的“主體”區(qū),列(字段)的統(tǒng)計(jì)通常把計(jì)算控件安排在“報(bào)表頁(yè)腳”區(qū)。比如,在“數(shù)據(jù)庫(kù)技術(shù)課程成績(jī)”報(bào)表中計(jì)算數(shù)據(jù)庫(kù)技術(shù)課程的的平均成績(jī)、最高成績(jī)、最低成績(jī),其設(shè)計(jì)如圖10-58所示。,圖10-58 報(bào)表設(shè)計(jì),
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案