數(shù)據(jù)庫技術(shù)與應(yīng)用課件_第1頁
數(shù)據(jù)庫技術(shù)與應(yīng)用課件_第2頁
數(shù)據(jù)庫技術(shù)與應(yīng)用課件_第3頁
數(shù)據(jù)庫技術(shù)與應(yīng)用課件_第4頁
數(shù)據(jù)庫技術(shù)與應(yīng)用課件_第5頁
已閱讀5頁,還剩120頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

資料庫技術(shù)與應(yīng)用--Access2000篇第1章資料庫基本原理

資訊在現(xiàn)代社會和國民經(jīng)濟(jì)發(fā)展中所起的作用越來越大,資訊資源的開發(fā)和利用水準(zhǔn)已成為衡量一個國家綜合國力的重要標(biāo)誌之一。在電腦的三大主要應(yīng)用領(lǐng)域(科學(xué)計算、數(shù)據(jù)處理和過程控制)中,數(shù)據(jù)處理是電腦應(yīng)用的主要方面。資料庫技術(shù)就是作為數(shù)據(jù)處理中的一門技術(shù)而發(fā)展起來的。資料庫技術(shù)所研究的問題就是如何科學(xué)地組織和存儲數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。資料庫技術(shù)作為數(shù)據(jù)管理的主要技術(shù)目前已廣泛應(yīng)用於各個領(lǐng)域,資料庫系統(tǒng)已成為電腦系統(tǒng)的重要組成部分。1.1資料庫技術(shù)資料庫技術(shù)產(chǎn)生於20世紀(jì)60年代末70年代初,其主要目的是有效地管理和存取大量的數(shù)據(jù)資源。資料庫技術(shù)主要研究如何存儲、使用和管理數(shù)據(jù),它是電腦數(shù)據(jù)管理技術(shù)發(fā)展的新階段。近年來,資料庫技術(shù)和電腦網(wǎng)絡(luò)技術(shù)的發(fā)展相互滲透、相互促進(jìn),已成為當(dāng)今電腦領(lǐng)域發(fā)展迅速、應(yīng)用廣泛的兩大領(lǐng)域。資料庫技術(shù)不僅應(yīng)用於事務(wù)處理,並且進(jìn)一步應(yīng)用到情報檢索、人工智慧、專家系統(tǒng)、電腦輔助設(shè)計等領(lǐng)域。1.1.1資料庫的基本概念

資料庫技術(shù)涉及到許多基本概念,主要包括數(shù)據(jù)、數(shù)據(jù)處理、資料庫、資料庫管理系統(tǒng)以及資料庫系統(tǒng)等。1數(shù)據(jù)

數(shù)據(jù)是指存儲在某一種媒體上能夠識別的物理符號。數(shù)據(jù)的概念包括兩個方面:其一是描述事物特性的數(shù)據(jù)內(nèi)容;其二是存儲在某一種媒體上的數(shù)據(jù)形式。2數(shù)據(jù)處理

數(shù)據(jù)處理是指對各種形式的數(shù)據(jù)進(jìn)行收集、存儲、加工和傳播的一系列活動的總和。其目的之一是從大量的、原始的數(shù)據(jù)中抽取、推導(dǎo)出對人們有價值的資訊以作為行動和決策的依據(jù);目的之二是為了借助電腦科學(xué)地保存和管理複雜的、大量的數(shù)據(jù),以便人們能夠方便而充分地利用這些寶貴的資訊資源。

3資料庫資料庫是與特定的主題或目的相關(guān)的數(shù)據(jù)的集合。資料庫可以直觀地理解為存放數(shù)據(jù)的倉庫,只不過這個倉庫是在電腦的大容量記憶體上(例如,硬碟就是一種最常見的電腦大容量存儲設(shè)備)。而且數(shù)據(jù)必須按照一定的格式存放,因?yàn)樗粌H需要存放,而且還要便於查找。可以認(rèn)為資料庫是被長期存放在電腦內(nèi)、有組織的、可以表現(xiàn)為多種形式的可共用的數(shù)據(jù)集合。資料庫技術(shù)使數(shù)據(jù)能按一定格式組織、描述和存儲,且具有較小的冗餘度,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,並可為多個用戶所共用。4資料庫管理系統(tǒng)

資料庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是對數(shù)據(jù)庫進(jìn)行管理的系統(tǒng)軟體,它的職能是有效地組織和存儲數(shù)據(jù)、獲取和管理數(shù)據(jù),接受和完成用戶提出的訪問數(shù)據(jù)的各種請求。資料庫管理系統(tǒng)主要功能包括以下幾個方面:(1)數(shù)據(jù)定義功能

DBMS提供了數(shù)據(jù)定義語言DDL(DataDefinitionLanguage),用戶通過它可以方便地對數(shù)據(jù)庫中的相關(guān)內(nèi)容進(jìn)行定義。例如,對數(shù)據(jù)庫、表、索引進(jìn)行定義。(2)數(shù)據(jù)操縱功能

DBMS提供了數(shù)據(jù)操縱語言DML(DataManipulationLanguage),用戶通過它可以實(shí)現(xiàn)對數(shù)據(jù)庫的基本操作。例如,對表中數(shù)據(jù)的查詢、插入、刪除和修改。

(3)資料庫運(yùn)行控制功能這是DBMS的核心部分,它包括併發(fā)控制(即處理多個用戶同時使用某些數(shù)據(jù)時可能產(chǎn)生的問題)、安全性檢查、完整性約束條件的檢查和執(zhí)行、資料庫的內(nèi)部維護(hù)(例如,索引的自動維護(hù))等。所有資料庫的操作都要在這些控制程式的統(tǒng)一管理下進(jìn)行,以保證數(shù)據(jù)的安全性、完整性以及多個用戶對數(shù)據(jù)庫的併發(fā)使用。(4)資料庫的建立和維護(hù)功能資料庫的建立和維護(hù)功能包括資料庫初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,資料庫的轉(zhuǎn)儲、恢復(fù)功能,資料庫的重新組織功能和性能監(jiān)視、分析功能等。這些功能通常是由一些實(shí)用程式完成的。它是資料庫管理系統(tǒng)的一個重要組成部分。5資料庫系統(tǒng)資料庫系統(tǒng)是指擁有資料庫技術(shù)支持的電腦系統(tǒng),它可以實(shí)現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和資訊資源共用服務(wù)。資料庫系統(tǒng)不僅包括數(shù)據(jù)本身,即實(shí)際存儲在電腦中的數(shù)據(jù),還包括相應(yīng)的硬體、軟體和各類人員。1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展電腦對數(shù)據(jù)的管理是指對數(shù)據(jù)的組織、分類、編碼、存儲、檢索和維護(hù)提供操作手段。

電腦數(shù)據(jù)管理隨著電腦硬體、軟體技術(shù)和電腦應(yīng)用範(fàn)圍的發(fā)展而不斷發(fā)展,多年來大致經(jīng)歷了如下三個階段:

l

人工管理階段

l

檔系統(tǒng)階段

l

資料庫系統(tǒng)階段1人工管理階段

20世紀(jì)50年代以前,電腦主要用於數(shù)值計算。從當(dāng)時的硬體看,外存只有紙帶、卡片、磁帶,沒有直接存取設(shè)備;從軟體看(實(shí)際上,當(dāng)時還未形成軟體的整體概念),沒有操作系統(tǒng)以及管理數(shù)據(jù)的軟體;從數(shù)據(jù)看,數(shù)據(jù)量小,數(shù)據(jù)無結(jié)構(gòu),由用戶直接管理,且數(shù)據(jù)間缺乏邏輯組織,數(shù)據(jù)依賴於特定的應(yīng)用程式,缺乏獨(dú)立性。圖1-1給出了數(shù)據(jù)的人工管理示意圖。圖1-1數(shù)據(jù)的人工管理

。。。應(yīng)用程式A1應(yīng)用程式A2應(yīng)用程式An。。。數(shù)據(jù)集S1數(shù)據(jù)集S2數(shù)據(jù)集Sn2檔系統(tǒng)階段

50年代後期到60年代中期,出現(xiàn)了磁鼓、磁片等直接存取數(shù)據(jù)的存儲設(shè)備。1954年出現(xiàn)了第一臺商業(yè)數(shù)據(jù)處理的電子電腦UNIVACI,標(biāo)誌著電腦開始應(yīng)用於以加工數(shù)據(jù)為主的事務(wù)處理階段。這種基於電腦的數(shù)據(jù)處理系統(tǒng)也就從此迅速發(fā)展起來。這種數(shù)據(jù)處理系統(tǒng)是把電腦中的數(shù)據(jù)組織成相互獨(dú)立的數(shù)據(jù)檔,系統(tǒng)可以按照檔的名稱對其進(jìn)行訪問,對檔中的記錄進(jìn)行存取,並可以實(shí)現(xiàn)對檔的修改、插入和刪除,這就是檔系統(tǒng)。檔系統(tǒng)實(shí)現(xiàn)了記錄內(nèi)的結(jié)構(gòu)化,即給出了記錄內(nèi)各種數(shù)據(jù)間的關(guān)係。但是,檔從整體來看卻是無結(jié)構(gòu)的。其數(shù)據(jù)面向特定的應(yīng)用程式,因此數(shù)據(jù)共用性、獨(dú)立性差,且冗餘度大,管理和維護(hù)的代價也很大。圖1-2給出了數(shù)據(jù)的檔系統(tǒng)管理示意圖。圖1-2數(shù)據(jù)的檔系統(tǒng)

。。。應(yīng)用程式A1應(yīng)用程式A2應(yīng)用程式An。。。數(shù)據(jù)集S1數(shù)據(jù)集S2數(shù)據(jù)集Sn

檔系統(tǒng)3資料庫系統(tǒng)階段

60年代後期,電腦性能得到提高,更重要的是出現(xiàn)了大容量磁片,存儲容量大大增加且價格下降。在此基礎(chǔ)上,有可能克服檔系統(tǒng)管理數(shù)據(jù)時的不足,而去滿足和解決實(shí)際應(yīng)用中多個用戶,多個應(yīng)用程式共用數(shù)據(jù)的要求,從而使數(shù)據(jù)能為盡可能多的應(yīng)用程式服務(wù),這就出現(xiàn)了資料庫這樣的數(shù)據(jù)管理技術(shù)。資料庫的特點(diǎn)是數(shù)據(jù)不再只針對某一特定應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)性,共用性高,冗餘度小,具有一定的程式與數(shù)據(jù)間的獨(dú)立性,並且實(shí)現(xiàn)了對數(shù)據(jù)進(jìn)行統(tǒng)一的控制。資料庫技術(shù)的應(yīng)用使數(shù)據(jù)存儲量猛增,用戶增加,而且資料庫技術(shù)的出現(xiàn)使數(shù)據(jù)處理系統(tǒng)的研製從圍繞以加工數(shù)據(jù)的程式為中心轉(zhuǎn)向圍繞共用的數(shù)據(jù)來進(jìn)行。圖1-3給出了數(shù)據(jù)的資料庫系統(tǒng)管理示意圖。圖1-3數(shù)據(jù)的資料庫系統(tǒng)

資料庫管理系統(tǒng)。。。應(yīng)用程式A1應(yīng)用程式A2應(yīng)用程式An

數(shù)據(jù)庫1.1.3資料庫系統(tǒng)的組成資料庫系統(tǒng)由四部分組成:硬體系統(tǒng)、系統(tǒng)軟體(包括操作系統(tǒng)、資料庫管理系統(tǒng)等)、資料庫應(yīng)用系統(tǒng)和各類人員。圖1-4給出了資料庫系統(tǒng)的組成示意圖。

資料庫應(yīng)用系統(tǒng)

資料庫管理系統(tǒng)

操作系統(tǒng)

硬體

圖1-4資料庫系統(tǒng)的組成

1硬體系統(tǒng)由於一般資料庫系統(tǒng)數(shù)據(jù)量很大,加之DBMS豐富的強(qiáng)有力的功能使得自身的體積很大,因此整個資料庫系統(tǒng)對硬體資源提出了較高的要求,這些要求是:(1)有足夠大的記憶體以存放操作系統(tǒng)、DBMS的核心模組、數(shù)據(jù)緩衝區(qū)和應(yīng)用程式。(2)有足夠大的直接存取設(shè)備存放數(shù)據(jù)(例如、磁片),有足夠的其他存儲設(shè)備來進(jìn)行數(shù)據(jù)備份。(3)要求電腦有較高的數(shù)據(jù)傳輸能力,以提高數(shù)據(jù)傳送率。2系統(tǒng)軟體系統(tǒng)軟體主要包括操作系統(tǒng)、資料庫管理系統(tǒng)、與資料庫介面的高級語言及其編譯系統(tǒng),以及以DBMS為核心的應(yīng)用開發(fā)工具。操作系統(tǒng)是電腦系統(tǒng)必不可少的系統(tǒng)軟體,也是支持DBMS運(yùn)行必不可少的系統(tǒng)軟體。資料庫管理系統(tǒng)是資料庫系統(tǒng)不可或缺的系統(tǒng)軟體,它提供資料庫的建立、使用和維護(hù)功能。一般來講,資料庫管理系統(tǒng)的數(shù)據(jù)處理能力較弱,所以需要提供與資料庫介面的高級語言及其編譯系統(tǒng),以便於開發(fā)應(yīng)用程式。以DBMS為核心的應(yīng)用開發(fā)工具。應(yīng)用開發(fā)工具是系統(tǒng)為應(yīng)用開發(fā)人員和最終用戶提供的高效率、多功能的應(yīng)用生成器、第四代語言等各種軟體工具。3資料庫應(yīng)用系統(tǒng)資料庫應(yīng)用系統(tǒng)是為特定應(yīng)用開發(fā)的資料庫應(yīng)用軟體。資料庫管理系統(tǒng)為數(shù)據(jù)的定義、存儲、查詢和修改提供支持,而資料庫應(yīng)用系統(tǒng)是對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行處理和加工的軟體,它面向特定應(yīng)用。例如,基於資料庫的各種管理軟體:管理資訊系統(tǒng)、決策支持系統(tǒng)和辦公自動化等都屬於資料庫應(yīng)用系統(tǒng)。4各類人員參與分析、設(shè)計、管理、維護(hù)和使用資料庫的人員均是資料庫系統(tǒng)的組成部分。他們在資料庫系統(tǒng)的開發(fā)、維護(hù)和應(yīng)用中起著重要的作用。分析、設(shè)計、管理和使用資料庫系統(tǒng)的人員主要是:資料庫管理員、系統(tǒng)分析員、應(yīng)用程式員和最終用戶。(1)資料庫管理員(DataBaseAdministrator,簡稱DBA)資料庫是整個企業(yè)或組織的數(shù)據(jù)資源,因此企業(yè)或組織應(yīng)設(shè)立專門的數(shù)據(jù)資源管理機(jī)構(gòu)來管理資料庫,資料庫管理員則是這個機(jī)構(gòu)的一組人員,負(fù)責(zé)全面管理和控制資料庫系統(tǒng)。具體職責(zé)如下:l決定資料庫的數(shù)據(jù)內(nèi)容和結(jié)構(gòu)。l決定資料庫的存儲結(jié)構(gòu)和存取策略。l定義數(shù)據(jù)的安全性要求和完整性約束條件。l監(jiān)控資料庫的使用和運(yùn)行。l資料庫的改進(jìn)和重組。(2)系統(tǒng)分析員系統(tǒng)分析員是資料庫系統(tǒng)建設(shè)期的主要參與人員,負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)範(fàn)說明,要和最終用戶相結(jié)合,確定系統(tǒng)的基本功能:資料庫結(jié)構(gòu)和應(yīng)用程式的設(shè)計,以及軟硬體的配置,並組織整個系統(tǒng)的開發(fā)。(3)應(yīng)用程式員應(yīng)用程式員根據(jù)系統(tǒng)的功能需求負(fù)責(zé)設(shè)計和編寫應(yīng)用系統(tǒng)的程式模組,並參與對程式模組的測試。(4)最終用戶資料庫系統(tǒng)的最終用戶是有不同層次的,不同層次的用戶其需求的資訊以及獲得資訊的方式也是不同的。一般可將最終用戶分為操作層、管理層和決策層。他們通過應(yīng)用系統(tǒng)的用戶介面使用資料庫。1.2數(shù)據(jù)模型

資料庫中最常見的數(shù)據(jù)模型有三種,它們是:

l

層次模型

l

網(wǎng)狀模型

l

關(guān)係模型

1.2.1層次模型若用圖來表示,層次模型是一棵倒立的樹。在資料庫中,滿足以下兩個條件的數(shù)據(jù)模型稱為層次模型:

1、有且僅有一個結(jié)點(diǎn)無父結(jié)點(diǎn),這個結(jié)點(diǎn)稱為根結(jié)點(diǎn);

2、其他結(jié)點(diǎn)有且僅有一個父結(jié)點(diǎn)。

在層次模型中,結(jié)點(diǎn)層次從根開始定義,根為第一層,根的子結(jié)點(diǎn)為第二層,根為其子結(jié)點(diǎn)的父結(jié)點(diǎn),同一父結(jié)點(diǎn)的子結(jié)點(diǎn)稱為兄弟結(jié)點(diǎn),沒有子結(jié)點(diǎn)的結(jié)點(diǎn)稱為葉結(jié)點(diǎn)。

在圖1-5所示的抽象層次模型中,R1為根結(jié)點(diǎn);R2和R3為兄弟結(jié)點(diǎn),並且是R1的子結(jié)點(diǎn);R4和R5為兄弟結(jié)點(diǎn),並且是R2的子結(jié)點(diǎn);R3、R4和R5為葉結(jié)點(diǎn)。

圖1-5層次模型R1R2R3R4R51.2.2網(wǎng)狀模型若用圖來表示,網(wǎng)狀模型是一個網(wǎng)路。在資料庫中,滿足以下兩個條件的數(shù)據(jù)模型稱為網(wǎng)狀模型。

1、允許一個以上的結(jié)點(diǎn)無父結(jié)點(diǎn);

2、一個結(jié)點(diǎn)可以有多於一個的父結(jié)點(diǎn)。由於在網(wǎng)狀模型中子結(jié)點(diǎn)與父結(jié)點(diǎn)的聯(lián)繫不是唯一的,所以要為每個聯(lián)繫命名,並指出與該聯(lián)繫有關(guān)的父結(jié)點(diǎn)和子結(jié)點(diǎn)。圖1-6給出了一個抽象的網(wǎng)狀模型。

L3L2L1

L4

L5圖1-6網(wǎng)狀模型

在圖1-6所示的抽象網(wǎng)狀模型中,R1與R4之間的聯(lián)繫被命名為L1,R1與R3之間的聯(lián)繫被命名為L2,R2與R3之間的聯(lián)繫被命名為L3,R3與R5之間的聯(lián)繫被命名為L4,R4與R5之間的聯(lián)繫被命名為L5。R1為R3和R4的父結(jié)點(diǎn),R2也是R3的父結(jié)點(diǎn)。R1和R2沒有父結(jié)點(diǎn)。

R3R1R2R4R51.2.3關(guān)係模型在關(guān)係模型中,數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。在資料庫中,滿足下列條件的二維表稱為關(guān)係模型:

1、每一列中的分量是類型相同的數(shù)據(jù);

2、列的順序可以是任意的;

3、行的順序可以是任意的;

4、表中的分量是不可再分割的最小資料項(xiàng)目,即表中不允許有子表:

5、表中的任意兩行不能完全相同。

表1-1給出的Student(學(xué)生基本情況)表便是一個關(guān)係模型。表1-1Student表

StudentIDNameSexBirthdayEntrancescore981101趙文化男2-28-80500981102徐逸華男6-7-81630981103郭茜茜女11-17-82650981201錢途男5-1-80380981202高涵男11-06-80630981203李曉鳴女11-17-824001.3關(guān)係資料庫關(guān)係資料庫採用了關(guān)係模型作為數(shù)據(jù)的組織方式,這就涉及到關(guān)係模型中的一些基本概念。另外,對關(guān)係資料庫進(jìn)行查詢時,若要找到用戶關(guān)心的數(shù)據(jù),就需要對關(guān)係進(jìn)行一定的關(guān)係運(yùn)算。1.3.1關(guān)係資料庫的基本概念在關(guān)係資料庫中,經(jīng)常會提到關(guān)係、屬性等關(guān)係模型中的一些基本概念。為了進(jìn)一步瞭解關(guān)係資料庫,首先給出關(guān)係模型中的一些基本概念。關(guān)係:一個關(guān)係就是一張二維表,每個關(guān)係有一個關(guān)係名。在Access2000中,一個關(guān)係就是一個表對象。屬性:二維表中垂直方向的列稱為屬性。在Access2000中,被稱為字段。

域:一個屬性的取值範(fàn)圍叫做一個域。

元組:二維表中水準(zhǔn)方向的行稱為元組。在Access2000中,被稱為記錄。

碼(又稱為關(guān)鍵字):二維表中的某個屬性,若它的值唯一地標(biāo)識了一個元組,則稱該屬性為侯選碼。若一個關(guān)係有多個侯選碼,則選定其中一個為主碼,這個屬性稱為主屬性。

分量:元組中的一個屬性值叫做元組的一個分量。

關(guān)係模式:是對關(guān)係的描述,它包括關(guān)係名、組成該關(guān)係的屬性名、屬性到域的映像。通常簡記為:關(guān)係名(屬性名1,屬性名2,…,屬性名n)學(xué)生基本情況表的關(guān)係模式可記為:

Student(StudentID,Name,Sex,Birthday,Entrancescore)

1.3.2關(guān)係運(yùn)算對關(guān)係資料庫進(jìn)行查詢時,若要找到用戶關(guān)心的數(shù)據(jù),就需要對關(guān)係進(jìn)行一定的關(guān)係運(yùn)算。關(guān)係運(yùn)算有兩種:一種是傳統(tǒng)的集合運(yùn)算(並、差、交、廣義笛卡爾積等);另一種是專門的關(guān)係運(yùn)算(選擇、投影、連接)。傳統(tǒng)的集合運(yùn)算(並、差、交、廣義笛卡爾積)不僅涉及關(guān)係的水準(zhǔn)方向(即二維表的行),而且涉及關(guān)係的垂直方向(即二維表的列)。關(guān)係運(yùn)算的操作對象是關(guān)係,運(yùn)算的結(jié)果仍為關(guān)係。1、選擇選擇運(yùn)算即在關(guān)係中選擇滿足某些條件的元組。也就是說,選擇運(yùn)算是在二維表中選擇滿足指定條件的行。例如,在Student表中,若要找出所有女學(xué)生的元組,就可以使用選擇運(yùn)算來實(shí)現(xiàn),條件是:Sex=“女”。2、投影投影運(yùn)算是在關(guān)係中選擇某些屬性列。例如,在Student表中,若要僅顯示所有學(xué)生的StudentID(學(xué)號)、Name(姓名)和Sex(性別),那麼可以使用投影運(yùn)算來實(shí)現(xiàn)。3、連接連接運(yùn)算是從兩個關(guān)係的笛卡爾積中選取屬性間滿足一定條件的元組。

假設(shè)現(xiàn)有兩個關(guān)係:關(guān)係R和關(guān)係S,關(guān)係R如表1-2所示,關(guān)係S如表1-3所示?,F(xiàn)在對關(guān)係R和關(guān)係S進(jìn)行廣義笛卡爾積運(yùn)算,那麼運(yùn)算結(jié)果為表1-4所示的關(guān)係T。表1-2關(guān)係R表1-3關(guān)係SStudentIDNameSex981102徐逸華男981103郭茜茜女981202高涵男StudentIDSubjectIDScore9811021021100981103103198981101101188981202102190表1-4關(guān)係TStudentIDNameSexStudentIDSubjectIDScore981102徐逸華男9811021021100981102徐逸華男981103103198981102徐逸華男981101101188981102徐逸華男981202102190981103郭茜茜女9811021021100981103郭茜茜女981103103198981103郭茜茜女981101101188981103郭茜茜女981202102190981202高涵男9811021021100981202高涵男981103103198981202高涵男981101101188981202高涵男981202102190

如果進(jìn)行條件為R.StudentID=S.StudentID的連接運(yùn)算,那麼連接結(jié)果為關(guān)係U,如表1-5所示。從表1-5可以看出關(guān)係U是關(guān)係T的一個子集。表1-5關(guān)係U

連接條件中的屬性稱為連接屬性,兩個關(guān)係中的連接屬性應(yīng)該有相同的數(shù)據(jù)類型,以保證其是可比的。當(dāng)連接條件中的關(guān)係運(yùn)算符為=時,表示等值連接。表1-5的關(guān)係U為關(guān)係R和關(guān)係S在條件R.StudentID=S.StudentID下的等值連接。StudentIDNameSexStudentIDSubjectIDScore981102徐逸華男9811021021100981103郭茜茜女981103103198981202高涵男981202102190

若在等值連接的關(guān)係U中去掉重複的屬性(或?qū)傩越M),則此連接稱為自然連接。表1-6所示的關(guān)係V是關(guān)係R和關(guān)係S在條件R.StudentID=S.StudentID下的自然連接。表1-6關(guān)係V

StudentIDNameSexSubjectIDScore981102徐逸華男1021100981103郭茜茜女103198981202高涵男1021902.1Access關(guān)係資料庫

Access2000是一種關(guān)係資料庫管理系統(tǒng)(RDBMS)。顧名思義,關(guān)係資料庫管理系統(tǒng)是資料庫管理軟體,它的職能是維護(hù)資料庫、接受和完成用戶提出的訪問數(shù)據(jù)的各種請求。

Access2000關(guān)係資料庫是資料庫對象的集合。資料庫對象包括:表(Table)、查詢(Query)、窗體(Form)、報表(Report)、數(shù)據(jù)訪問頁(Page)、宏(Macro)和模組(Module)。在任何時刻,Access2000只能打開並運(yùn)行一個資料庫。但是,在每一個資料庫中,可以擁有眾多的表、查詢、窗體、報表、數(shù)據(jù)訪問頁、宏和模組。這些資料庫對象都存儲在同一個以MDB為擴(kuò)展名的資料庫檔中。2.2Access的特點(diǎn)

lAccess是一個中、小型關(guān)係資料庫管理系統(tǒng)。

lAccess又是一個完全面向?qū)ο?,採用事件?qū)動機(jī)制的最新關(guān)係資料庫管理系統(tǒng),使得資料庫的應(yīng)用與開發(fā)更加便捷、靈活。

lAccess是一個同時面向資料庫最終用戶和數(shù)據(jù)庫開發(fā)人員的關(guān)係資料庫管理系統(tǒng)。

lAccess是一個典型的開放式資料庫管理系統(tǒng)。

lAccess支持多媒體的應(yīng)用與開發(fā)。

lAccess既可以在單用戶環(huán)境下工作也可以在多用戶環(huán)境下工作,並且具有完善的安全管理機(jī)制。

lAccess內(nèi)置了大量的函數(shù)。

lAccess提供了許多宏操作。

lAccess提供了聯(lián)機(jī)幫助功能。

2.3Access2000的資料庫對象

Access2000提供了七種資料庫對象:表、查詢、窗體、報表、數(shù)據(jù)訪問頁、宏和模組。2.3.1表(Table)對象表是有結(jié)構(gòu)的數(shù)據(jù)的集合,是資料庫應(yīng)用系統(tǒng)的數(shù)據(jù)倉庫。2.3.2查詢(Query)對象查詢是根據(jù)用戶給定條件在指定的表中篩選記錄或者進(jìn)一步對篩選出來的記錄做某種操作的資料庫對象。查詢可以進(jìn)一步分為選擇查詢和動作查詢兩種。用戶可以使用選擇查詢從指定的表中獲取滿足給定條件的記錄,也可以使用動作查詢從指定的表中篩選記錄以生成一個新表或者對指定的表進(jìn)行記錄的更新、添加或刪除操作。2.3.3窗體(Form)對象窗體對象允許用戶採用可視化的直觀操作設(shè)計數(shù)據(jù)輸入、輸出介面的結(jié)構(gòu)和佈局。2.3.4報表(Report)對象報表對象允許用戶不用編程僅通過可視化的直觀操作就可以設(shè)計報表列印格式。2.3.5數(shù)據(jù)訪問頁(Page)對象數(shù)據(jù)訪問頁可以將資料庫中的記錄發(fā)佈到Internet或Intranet,並使用流覽器進(jìn)行記錄的維護(hù)和操作。2.3.6宏(Macro)對象

宏對象是一個或多個宏操作的集合,其中的每一個宏操作執(zhí)行特定的單一功能。用戶可以將這些宏操作組織起來形成宏對象以執(zhí)行特定的任務(wù)。

2.3.7模組(Module)對象

模組對象是將VisualBasicforApplication(簡稱宏語言VBA)編寫的過程和聲明作為一個整體進(jìn)行保存的過程的集合。

Access2000提供的上述七種對象分工極為明確,從功能和彼此間的關(guān)係角度考慮,這七種對象可以分為三個層次:第一層次是表對象和查詢對象,它們是資料庫的基本對象,用於在資料庫中存儲數(shù)據(jù)和查詢數(shù)據(jù)。第二層次是窗體對象、報表對象和數(shù)據(jù)訪問頁,它們是直接面向用戶的對象,用於數(shù)據(jù)的輸入輸出和應(yīng)用系統(tǒng)的驅(qū)動控制。第三層次是宏對象和模組對象,它們是代碼類型的對象,用於通過組織宏操作或編寫程式來完成複雜的資料庫管理工作並使得資料庫管理工作自動化。3.1創(chuàng)建資料庫在Access2000中,可以採用二種方式創(chuàng)建資料庫:

l

啟動Access2000時創(chuàng)建資料庫

l

進(jìn)入Access2000以後隨時創(chuàng)建資料庫3.1.1啟動Access2000時創(chuàng)建資料庫3.1.2進(jìn)入Access2000以後隨時創(chuàng)建資料庫3.2打開及關(guān)閉資料庫3.2.1打開資料庫3.2.2關(guān)閉資料庫關(guān)閉資料庫的方法有以下三種:

l單擊【資料庫】窗口右上角的【關(guān)閉】按鈕

l雙擊【資料庫】窗口左上角的【菜單控制圖示】;或者單擊【菜單控制圖示】,然後從彈出的下拉菜單中選擇【關(guān)閉】命令。

l從【檔】菜單中選擇【關(guān)閉】命令。

3.3管理資料庫資料庫管理工作主要包括資料庫的壓縮、修復(fù)、加密和解密以及為數(shù)據(jù)庫設(shè)置密碼等任務(wù)。3.3.1壓縮和修復(fù)資料庫在表中添加、刪除記錄或者刪除資料庫對象,可能會使資料庫所佔(zhàn)用的磁片空間變成許多無法有效利用的碎片,從而減慢了系統(tǒng)的執(zhí)行速度,並且浪費(fèi)了寶貴的磁片空間。為了解決這一問題,用戶可以定期壓縮資料庫。Access2000能夠識別資料庫佔(zhàn)用的空間,重新利用浪費(fèi)的磁片空間。3.3.2加密和解密資料庫用戶可以隨時對數(shù)據(jù)庫進(jìn)行加密,以確保資料庫只能在Access2000下打開和使用。4.1創(chuàng)建表如果用戶有一批數(shù)據(jù)需要存儲、管理,而Access2000關(guān)係資料庫目前沒有合適的表來存儲這批數(shù)據(jù)時,就需要建立一個新表。在Access2000中,可以採用以下五種方式在當(dāng)前資料庫的表對象中建立新表:

l使用【設(shè)計視圖】l使用【表嚮導(dǎo)】l使用【數(shù)據(jù)表視圖】l使用【導(dǎo)入表】

l使用【鏈接表】4.1.1使用【設(shè)計視圖】創(chuàng)建表4.1.2使用【表嚮導(dǎo)】創(chuàng)建表4.1.3使用【數(shù)據(jù)表視圖】創(chuàng)建表4.1.4使用【導(dǎo)入表】創(chuàng)建表使用【導(dǎo)入表】方式創(chuàng)建表是將其他資料庫中的表或其他應(yīng)用系統(tǒng)中的檔導(dǎo)入到當(dāng)前資料庫中來以生成新表。4.1.5使用【鏈接表】創(chuàng)建表使用【鏈接表】方式創(chuàng)建表是將其他資料庫中的表或其他應(yīng)用系統(tǒng)中的檔鏈接到當(dāng)前資料庫中來以生成新表?!炬溄颖怼糠绞缴傻男卤砼c源表具有相同的結(jié)構(gòu)和記錄,並且在源表中對記錄的添加、更新和刪除操作將會反映到新表中。反之,亦然。4.1.6字段名稱字段是表的基本存儲單元,為字段命名可以方便地使用和識別字段。字段名稱在表中應(yīng)是唯一的,最好使用便於理解的字段名稱。在Access2000中,字段名稱應(yīng)遵循如下命名規(guī)則:

l字段名稱的長度最多可達(dá)64個字元。

l字段名稱可以包含字母、漢字、數(shù)字、空格和其他字元。

l不能將空格作為字段名稱的第一個字元。

l字段名稱不能包含句號(。)、驚嘆號(!)、方括號([])和重音符號(`)。

l不能使用控制字元(ASCⅡ值從0至31的控制字元)。4.1.7數(shù)據(jù)類型

命名了字段名稱以後,必須決定賦予該字段何種數(shù)據(jù)類型。數(shù)據(jù)類型決定了該字段能存儲什麼樣的數(shù)據(jù)。表4-1字段的數(shù)據(jù)類型

數(shù)據(jù)類型可存儲的數(shù)據(jù)大小文本(Text)文字、數(shù)字型字元最多存儲255個字元備註(Memo)文字、數(shù)字型字元最多存儲65535個字元數(shù)字(Number)數(shù)值1、2、4或8位元組日期/時間(Date/Time)日期時間值8位元組貨幣(Currency)貨幣值8位元組自動編號(AutoNumber)順序號或亂數(shù)4位元組是/否(Yes/no)邏輯值1位OLE對象(OLEObject)圖象、圖表、聲音等最大為1G位元組超(級)鏈接(Hyperlink)作為超(級)鏈接地址的文本最大為2048×3個字元查閱嚮導(dǎo)(LookupWizard)從列表框或組合框中選擇的文本或數(shù)值4個位元組4.1.8字段說明在表的設(shè)計視圖中,字段輸入?yún)^(qū)域的【說明】列用於幫助用戶瞭解字段的用途、數(shù)據(jù)的輸入方式以及該字段對輸入數(shù)據(jù)格式的要求。4.2設(shè)置字段屬性在為字段定義了字段名稱、數(shù)據(jù)類型以及說明以後,Access2000進(jìn)一步要求用戶定義字段屬性,即確定字段的屬性。每一個字段或多或少都擁有字段屬性,而不同的數(shù)據(jù)類型其所擁有的字段屬性是各不相同的。

Access2000在字段屬性區(qū)域中設(shè)置了【常規(guī)】和【查閱】兩個選項(xiàng)卡。表4-6列出了【常規(guī)】選項(xiàng)卡中的所有屬性,這些屬性並不全部適用於每一種數(shù)據(jù)類型的字段。表4-6字段屬性

屬性用途字段大小(FieldSize)定義文本、數(shù)字或自動編號數(shù)據(jù)類型字段長度格式(Format)定義數(shù)據(jù)的顯示格式和列印格式輸入掩碼(InputMask)定義數(shù)據(jù)的輸入格式小數(shù)位數(shù)(DecimalPlaces)定義數(shù)值的小數(shù)位數(shù)標(biāo)題(Caption)在數(shù)據(jù)表視圖,窗體和報表中替換字段名默認(rèn)值(DefaultValue)定義字段的缺省值有效性規(guī)則(ValidationRule)定義字段的校驗(yàn)規(guī)則有效性文本(ValidationText)當(dāng)輸入或修改的數(shù)據(jù)沒有通過字段的有效性規(guī)則時,所要顯示的資訊必填字段(Required)確定數(shù)據(jù)是否必需被輸入到字段中允許空字元串(AllowZeroLength)定義文本、備註和超(級)鏈接數(shù)據(jù)類型字段是否允許輸入零長度字串索引(Indexed)定義是否建立單一字段索引新值(NewValues)定義自動編號數(shù)據(jù)類型字段的數(shù)值遞增方式輸入法模式(IMEMode)定義焦點(diǎn)移至字段時是否開啟輸入法Unicode壓縮(Unicode)定義是否允許對文本、備註和超(級)鏈接數(shù)據(jù)類型字段進(jìn)行Unicode壓縮4.2.1【字段大小】屬性4.2.2【格式】屬性

【格式】屬性用於定義數(shù)據(jù)的顯示和列印格式。Access2000為某些數(shù)據(jù)類型的字段預(yù)定義了【格式】屬性,也允許用戶為某些數(shù)據(jù)類型的字段自定義【格式】屬性?!靖袷健繉傩灾挥绊憯?shù)據(jù)的顯示格式而不會影響數(shù)據(jù)的存儲和輸入。

【格式】屬性適用於【文本】、【備註】、【數(shù)字】、【貨幣】、【日期/時間】和【是/否】數(shù)據(jù)類型。Access2000為設(shè)置【格式】屬性提供了特殊的格式化字元。1.【文本】和【備註】數(shù)據(jù)類型的【格式】屬性

【文本】和【備註】數(shù)據(jù)類型字段的自定義【格式】屬性最多由兩部分組成,各部分之間需用分號分隔。第一部分用於定義文本的顯示格式。第二部分用於定義空字元串及NULL值的顯示格式。

表4-8【文本】和【備註】數(shù)據(jù)類型的格式化字元

格式化字元用途@字元占位符。用於在該位置顯示任意可用字元或空格&字元占位符。用於在該位置顯示任意可用字元。如果沒有可用字元要顯示,Access2000將忽略該占位符<使所有字元顯示為小寫>使所有字元顯示為大寫-、+、$、()、空格可以在【格式】屬性中的任何位置使用這些字元並且將這些字元原文照印"Text"可以在【格式】屬性中的任何位置使用雙引號括起來的文本並且原文照印\將其後跟隨的第一個字元原文照印!用於執(zhí)行左對齊*將其後跟隨的第一個字元作為填充字元[顏色]用方括號中的顏色參數(shù)指定文本的顯示顏色。有效顏色參數(shù)為:黑色、藍(lán)色、綠色、青色、紅色、紫紅色、黃色和白色。顏色參數(shù)必須與其它字元一起使用2.【數(shù)字】和【貨幣】數(shù)據(jù)類型的【格式】屬性對於【數(shù)字】和【貨幣】數(shù)據(jù)類型的字段,Access2000預(yù)定義了7種【格式】屬性。

Access2000允許用戶自定義【格式】屬性。自定義【格式】屬性最多可以由四部分組成,各部分之間需用分號分隔。第一部分用於定義正數(shù)的顯示格式;第二部分用於定義負(fù)數(shù)的顯示格式;第三部分用於定義零值的顯示格式;第四部分用於定義Null值的顯示格式。

表4-10【數(shù)字】和【貨幣】數(shù)據(jù)類型字段的格式化字元

格式化字元用途.用來顯示放置小數(shù)點(diǎn)的位置,用來顯示千位分隔符號的位置0數(shù)字占位符。如果在這個位置沒有數(shù)字輸入,則顯示0#數(shù)字占位符。如果在這個位置沒有數(shù)字輸入,則忽略該數(shù)字占位符-、+、$、()、空格可以在任何位置使用這些字元並且將這些字元原文照印"Text"可以在任何位置使用雙引號括起來的文本並且原文照印\將其後跟隨的第一個字元原文照印*將其後跟隨的第一個字元作為填充字元%將數(shù)值乘以100,並在數(shù)值尾部添加百分號!用於執(zhí)行左對齊E—或e—用科學(xué)記數(shù)法顯示數(shù)字。在負(fù)指數(shù)前顯示一個減號,在正指數(shù)前不顯示加號。它必須同其他格式化字元一起使用E+或e+用科學(xué)記數(shù)法顯示數(shù)字。在負(fù)指數(shù)前顯示一個減號,在正指數(shù)前顯示一個加號。它必須同其他格式化字元一起使用[顏色]用方括號中的顏色參數(shù)指定文本的顯示顏色3.【日期/時間】數(shù)據(jù)類型的【格式】屬性

Access2000為【日期/時間】數(shù)據(jù)類型字段預(yù)定義了7種【格式】屬性。

Access2000允許用戶自定義【日期/時間】數(shù)據(jù)類型字段的【格式】屬性。自定義的【格式】屬性最多可由兩部分組成,它們之間需用分號分隔。第一部分用於定義日期/時間的顯示格式;第二部分用於定義Null值的顯示格式。表4-12【日期/時間】數(shù)據(jù)類型字段的格式化字元

格式化字元說明:時間分隔符號/日期分隔符號C用於顯示【常規(guī)日期】格式d用於把某天顯示成一位或兩位數(shù)字dd用於把某天顯示成固定的兩位數(shù)字格式化字元說明ddd顯示星期的英文縮寫(Sun到Sat)dddd顯示星期的英文全稱(Sunday到Saturday)ddddd用於顯示【短日期】格式dddddd用於顯示【長日期】格式w用於顯示星期中的日(1-7)ww用於顯示年中的星期(1-53)m把月份顯示成一位或兩位數(shù)字mm把月份顯示成固定的兩位數(shù)字mmm顯示月份的英文縮寫(Jan-Dec)mmmm顯示月份的英文全稱(January到December)q用於顯示季節(jié)(1-4)Y用於顯示年中的天數(shù)(1-366)YY用於顯示年號後兩位數(shù)(01-99)YYYY用於顯示完整年號(0100-9999)h把小時顯示成一位或兩位數(shù)字hh把小時顯示成固定的兩位數(shù)字格式化字元說明n把分鐘顯示成一位或兩位數(shù)字nn把分鐘顯示成固定的兩位數(shù)字s把秒顯示成一位或兩位數(shù)字ss把秒顯示成固定的兩位數(shù)字tttt用於顯示【長時間】格式AM/PM,am/pm用適當(dāng)?shù)腁M/PM或am/pm顯示12小時制時鐘值A(chǔ)/P,a/p用適當(dāng)?shù)腁/P或a/p顯示12小時制時鐘值A(chǔ)MPM採用Windows95/98控制面板的【區(qū)域設(shè)置屬性】對話框的【時間】選項(xiàng)卡所定義的帶有相應(yīng)的【上午/下午】指示器的12小時時鐘-、+、$、()、空格可以在【格式】屬性中的任何位置使用這些字元並且將這些字元原文照印"Text"可以在【格式】屬性中的任何位置使用雙引號括起來的文本並且原文照印\將其後跟隨的第一個字元原文照印!用於執(zhí)行左對齊*將其後跟隨的第一個字元作為填充字元[顏色]用方括號中的顏色參數(shù)指定文本的顯示顏色4.【是/否】數(shù)據(jù)類型的【格式】屬性

Access2000為【是/否】數(shù)據(jù)類型字段預(yù)定義了3種【格式】屬性。

Access2000允許用戶自定義【是/否】數(shù)據(jù)類型字段的【格式】屬性。自定義的【格式】屬性最多可以由三部分組成,它們之間需用分號分隔。第一部分空缺;第二部分用於定義邏輯真值的顯示格式,通常為邏輯真值指定一個包括在雙引號中的字串(可以含有[顏色]格式化字元);第三部分用於定義邏輯假值的顯示格式,通常為邏輯假值指定一個包括在雙引號中的字串(可以含有[顏色]格式化字元)。4.2.3【輸入掩碼】屬性

【輸入掩碼】屬性用於定義數(shù)據(jù)的輸入格式以及輸入數(shù)據(jù)的某一位上允許輸入的數(shù)據(jù)類型。Access2000允許為除了【備註】、【OLE對象】和【自動編號】數(shù)據(jù)類型之外的任何數(shù)據(jù)類型字段定義【輸入掩碼】屬性。

【輸入掩碼】屬性最多可以由三部分組成,各部分之間要用分號分隔。第一部分定義數(shù)據(jù)的輸入格式。第二部分定義是否按顯示方式在表中存儲數(shù)據(jù)。若設(shè)置為0,則按顯示方式存儲。若設(shè)置為1或?qū)⒌诙糠挚杖保瑒t只存儲輸入的數(shù)據(jù)。第三部分定義一個占位符以顯示數(shù)據(jù)輸入的位置。用戶可以定義一個單一字元作為占位符,缺省占位符是一個下劃線。表4-14輸入掩碼字元

輸入掩碼字元說明0數(shù)字占位符。數(shù)字(0-9)必須輸入到該位置,不允許輸入+和-符號9數(shù)字占位符??梢詫?shù)字(0-9)或空格輸入到該位置,不允許輸入+和-符號。如果在該位置沒有輸入任何數(shù)字或空格時,Access2000將忽略該占位符#數(shù)字占位符。數(shù)字、空格、+和-符號都可以輸入到該位置。如果在該位置沒有輸入任何數(shù)字時,Access2000認(rèn)為輸入的是空格L字母占位符。字母必須輸入到該位置?字母占位符。字母能夠輸入到該位置。如果在該位置沒有輸入任何字母時,Access2000將忽略該占位符A字母數(shù)字占位符。字母或數(shù)字必須輸入到該位置a字母數(shù)字占位符。字母或數(shù)字能夠輸入到該位置。如果在該位置沒有輸入任何字母或數(shù)字時,Access2000將忽略該占位符&字元占位符。字元或空格必須輸入到該位置C字元占位符。字元或空格能夠輸入到該位置。如果在該位置沒有輸入任何字元時,Access2000將忽略該占位符輸入掩碼字元說明.小數(shù)點(diǎn)占位符,千位分隔符號:時間分隔符號/日期分隔符號<將所有字元轉(zhuǎn)換成小寫>將所有字元轉(zhuǎn)換成大寫!使【輸入掩碼】從右到左而不是從左到右顯示。可以在【輸入掩碼】的任何位置上放置驚嘆號\用來顯示其後跟隨的第一個字元"Text"可以在【輸入掩碼】屬性中任何位置使用雙引號括起來的文本並且原文照印4.2.4【小數(shù)位數(shù)】屬性

【小數(shù)位數(shù)】屬性僅對【數(shù)字】和【貨幣】數(shù)據(jù)類型字段有效。小數(shù)位的數(shù)目為0—15,這取決於【數(shù)字】或【貨幣】數(shù)據(jù)類型字段的大小。4.2.5【標(biāo)題】屬性

【標(biāo)題】屬性允許用戶輸入一個更具體的描述字段的名稱,用於替換在數(shù)據(jù)表視圖、報表或窗體中顯示的相應(yīng)字段名。4.2.6【默認(rèn)值】屬性

【默認(rèn)值】屬性可以為除了【自動編號】和【OLE對象】數(shù)據(jù)類型以外的所有字段指定一個默認(rèn)值。默認(rèn)值是在新的記錄被添加到表中時自動地為字段設(shè)置的,它可以是與字段的數(shù)據(jù)類型相匹配的任何值。4.2.7【有效性規(guī)則】屬性

【有效性規(guī)則】屬性允許用戶輸入一個運(yùn)算式來限定被接受進(jìn)入字段的值。4.2.8【有效性文本】屬性

【有效性文本】屬性允許用戶輸入一段提示文字,當(dāng)輸入的數(shù)據(jù)沒有通過設(shè)定的有效性規(guī)則時,Access2000自動彈出一個提示框顯示該段提示文字?!居行晕谋尽繉傩砸c【有效性規(guī)則】屬性搭配使用。4.2.9【必填字段】屬性

【必填字段】屬性允許用戶規(guī)定數(shù)據(jù)是否必須被輸入到字段中,即字段中是否允許有Null值。如果數(shù)據(jù)必須被輸入到字段中,即不允許有Null值,應(yīng)設(shè)置【必填字段】屬性值為【是】。【必填字段】屬性值是一個邏輯值,默認(rèn)值為【否】。4.2.10【允許空字元串】屬性

【允許空字元串】屬性用於定義對於【文本】和【備註】數(shù)據(jù)類型的字段是否允許空字元串輸入。如果允許,應(yīng)把空字元串和Null值區(qū)別開。空字元串是長度為零的特殊字串?!驹试S空字元串】屬性值是一個邏輯值,默認(rèn)值為【否】。4.2.11【索引】屬性

【索引】屬性允許用戶選擇是否建立單一字段索引。4.2.12【新值】屬性

【新值】屬性用於指定在表中添加新記錄時,【自動編號】數(shù)據(jù)類型字段的遞增方式。4.2.13【輸入法模式】屬性

【輸入法模式】屬性用於定義當(dāng)焦點(diǎn)移至字段時是否開啟輸入法。4.2.14【Unicode壓縮】屬性

【Unicode壓縮】屬性用於定義是否允許對【文本】、【備註】和【超(級)鏈接】數(shù)據(jù)類型字段進(jìn)行Unicode壓縮。Unicode是一個字元編碼方案,該方案使用兩個位元組代表一個字元。4.2.15【顯示控件】屬性

Access2000在字段屬性區(qū)域的【查閱】選項(xiàng)卡設(shè)置了【顯示控件】屬性。該屬性僅適用於【文本】、【是/否】和【數(shù)字】數(shù)據(jù)類型字段?!撅@示控件】屬性用於設(shè)置這三種字段的顯示方式,即將這三種字段與何種顯示控件綁定以顯示其中的數(shù)據(jù)。表4-19列出了這三種數(shù)據(jù)類型所擁有的顯示控件屬性值。表4-19【顯示控件】屬性值

文本框

複選框

列表框

組合框文本√√√是/否√

√數(shù)字√√√顯示控件屬性值數(shù)據(jù)類型4.3定義主鍵在Access2000中,最好為創(chuàng)建的每一個表定義一個主鍵。主鍵可以由一個或多個字段組成,用於標(biāo)識表中的每一條記錄。作為主鍵的字段其值是唯一的。定義主鍵的目的就是要保證表中的所有記錄都是唯一可識別的。如果表中沒有單一的字段能夠使記錄具有唯一性,那麼可以使用多個字段的組合使記錄具有唯一性。在表中定義主鍵除了可以保證表中的記錄具有唯一可識別性以外,還能加快查詢、檢索以及排序的速度,因?yàn)橹麈I實(shí)際上是一個索引。另外在表中建立主鍵有利於建立一對多的表間關(guān)係。4.4建立索引索引實(shí)際上是一個二維列表,其中僅有二列數(shù)據(jù):關(guān)鍵字值和記錄的物理位置。關(guān)鍵字值是包含有字段的排序規(guī)則運(yùn)算式,記錄的物理位置指向關(guān)鍵字值在表中所在的物理位置。在Access2000中,用戶可以根據(jù)一個字段建立單一字段索引,也可以根據(jù)多個字段的組合建立多字段索引。4.4.1單一字段索引4.4.2多字段索引在查詢中,只要提供的查詢準(zhǔn)則是以多字段索引中的第一個字段作為起始並為連續(xù)字段提供查詢準(zhǔn)則,Access2000就可以使用多字段索引進(jìn)行查詢。但是在使用多字段索引時有一個附加限制:只有最後一個準(zhǔn)則可以使用不等式。4.5建立表間關(guān)係在Access2000中,資料庫擁有眾多的表。這些表雖然都處在同一個數(shù)據(jù)庫中,但彼此是獨(dú)立存在的,相互間還沒有建立起關(guān)係。關(guān)係資料庫系統(tǒng)的特點(diǎn)是可以為表建立表間關(guān)係,從而真實(shí)地反映客觀世界豐富多變的特點(diǎn)以及錯綜複雜的聯(lián)繫,減少數(shù)據(jù)的冗餘。兩個表之間只有存在相關(guān)聯(lián)的字段才能在二者之間建立關(guān)係。在兩個相關(guān)表中,起著定義相關(guān)字段取值範(fàn)圍作用的表稱為父表,而另一個引用父表中相關(guān)字段的表稱為子表。根據(jù)父表和子表中相關(guān)聯(lián)字段的對應(yīng)關(guān)係,表間關(guān)係可以分為兩種:一對一關(guān)係和一對多關(guān)係。5.1使用數(shù)據(jù)表視圖

在Access2000關(guān)係資料庫中,用戶定義了表結(jié)構(gòu)以後可以隨時使用數(shù)據(jù)表視圖為該表輸入記錄、流覽和編輯表中的記錄。在數(shù)據(jù)表視圖中,每一條記錄顯示在一行中,字段名顯示在列頭上。如果為字段設(shè)置了【標(biāo)題】屬性,那麼在數(shù)據(jù)表視圖中,【標(biāo)題】屬性將替換字段名。在數(shù)據(jù)表視圖中,設(shè)置有記錄選擇器、記錄滾動條、字段滾動條和記錄流覽按鈕。數(shù)據(jù)表視圖和表設(shè)計視圖是可以相互切換的。在數(shù)據(jù)表視圖最左邊的記錄選擇器上可看到四種不同的標(biāo)記:當(dāng)前記錄、編輯記錄、新記錄和鎖定記錄。

在數(shù)據(jù)表視圖中,如果打開的表與其它表存在一對多的表間關(guān)係,Access2000將會在數(shù)據(jù)表視圖中為每條記錄在第一個字段的左邊設(shè)置一個+號。單擊+號可以顯示與該記錄相關(guān)的子表記錄。在Access2000中,這種多級顯示相關(guān)記錄的形式是可以嵌套的,但最多可以設(shè)置8級嵌套。5.2編輯修改記錄

對於表中的記錄,用戶可以很容易地在數(shù)據(jù)表視圖中進(jìn)行編輯修改。對於要編輯修改的數(shù)據(jù),用戶必須首先選擇它,然後才能進(jìn)行編輯修改。

5.3查找和替換記錄

在數(shù)據(jù)表視圖中,為了快速查找指定的記錄,Access2000提供了【查找】命令。為了快速替換數(shù)據(jù),Access2000提供了【替換】命令。5.3.1查找記錄在數(shù)據(jù)表視圖中,為了快速查找到指定的記錄,可以從【編輯】菜單中選擇【查找】命令或單擊【查找】按鈕。

5.3.2替換記錄在數(shù)據(jù)表視圖中,如果有多條記錄的某一個字段的相同值要做同樣的修改,那麼可以從【編輯】菜單中選擇【替換】命令或單擊【查找】按鈕。5.4排序和篩選記錄

在數(shù)據(jù)表視圖中,可以對記錄進(jìn)行排序,即根據(jù)指定字段值的大小重新排列顯示記錄;也可以對記錄進(jìn)行篩選,即僅將滿足給定條件的記錄顯示在數(shù)據(jù)表視圖中。5.4.1排序記錄在數(shù)據(jù)表視圖中,可以對記錄進(jìn)行排序,即根據(jù)指定字段值的大小重新排列顯示記錄。在打開表的數(shù)據(jù)表視圖時,Access2000一般是以表中定義的主鍵值的大小按昇冪的方式排序顯示記錄。如果在表中沒有定義主鍵,那麼,Access2000將按照記錄在表中的物理位置順序來顯示記錄。如果用戶需要改變記錄的顯示順序,應(yīng)在數(shù)據(jù)表視圖中對記錄進(jìn)行排序。在數(shù)據(jù)表視圖中,如果需要根據(jù)某一字段對記錄進(jìn)行簡單排序,用戶可以使用【昇冪】或【降序】按鈕。如果要根據(jù)幾個字段的組合對記錄進(jìn)行排序,同樣可以使用【昇冪】或【降序】按鈕。但是這幾個字段必須是相鄰的,而且這幾個字段必須按照一致的昇冪或降序來排序。

如果要根據(jù)幾個字段的組合對記錄進(jìn)行排序並且這幾個字段的排序方向不一致時,用戶必須使用【記錄】菜單的【篩選】子菜單中的【高級篩選/排序】命令和【記錄】菜單中的【應(yīng)用篩選/排序】命令來對記錄進(jìn)行複雜排序。若要取消排序,可以從【記錄】菜單中選擇【取消篩選/排序】命令。Access2000將按照該表的原有順序顯示記錄。5.4.2篩選記錄在數(shù)據(jù)表視圖中,可以對記錄進(jìn)行篩選,即僅將滿足給定條件的記錄顯示在數(shù)據(jù)表視圖中。對記錄進(jìn)行篩選的操作與對記錄進(jìn)行多字段排序的操作相似,不同的是:在篩選窗口中,指定了要篩選的字段以後,還要將篩選條件輸入到QBE設(shè)計網(wǎng)格中的【準(zhǔn)則】行和【或】行中。

在【準(zhǔn)則】行和【或】行中,Access2000規(guī)定:在同一行中設(shè)置的多個篩選條件,它們之間存在邏輯與的關(guān)係。在不同行中設(shè)置的多個篩選條件,它們之間存在邏輯或的關(guān)係。在數(shù)據(jù)表視圖中,可以方便地根據(jù)某一字段的值對記錄進(jìn)行簡單的篩選;也可以根據(jù)某幾個字段的組合對記錄進(jìn)行複雜篩選。若要取消篩選,可以從【記錄】菜單中選擇【取消篩選/排序】命令,Access2000將顯示該表中的所有記錄。5.5格式化數(shù)據(jù)表視圖

在數(shù)據(jù)表視圖中,用戶可以重新調(diào)整字段的顯示順序,隱藏或凍結(jié)字段、改變顯示數(shù)據(jù)的字型及字型大小以及字段列的寬度和記錄行的高度。上述這些操作我們稱其為格式化數(shù)據(jù)表視圖。5.5.1改變列寬和行高5.5.2編排列在數(shù)據(jù)表視圖中,字段從左到右的缺省顯示順序是由在表設(shè)計視圖中定義字段的順序所決定的。但是,用戶可以改變這一顯示順序,重新編排列。5.5.3隱藏和顯示列5.5.4凍結(jié)列在數(shù)據(jù)表視圖中,如果記錄比較長,那麼在數(shù)據(jù)表視圖中可能僅能顯示記錄的一部分。如果要流覽或編輯記錄的其餘部分,那麼就需要單擊字段滾動條以便能夠在窗口中看到記錄未被顯示的部分。但這樣做又會隱藏起記錄的另一部分。也許有些列對用戶來說是重要的,希望它們總是顯示在數(shù)據(jù)表視圖中。為了做到這一點(diǎn),就需要凍結(jié)這些列。

若要凍結(jié)列,應(yīng)首先選擇要凍結(jié)的列,然後從【格式】菜單中選擇【凍結(jié)列】命令,Access2000即把選擇的列移到窗口最左邊並凍結(jié)他們,且該列右邊線以深色顯示。當(dāng)單擊字段滾動條向右或向左滾動記錄時,被凍結(jié)的列始終固定顯示在最左邊。為了釋放凍結(jié)列,可以從【格式】菜單中選擇【取消對所有列的凍結(jié)】命令。5.5.5設(shè)置網(wǎng)格線在數(shù)據(jù)表視圖中,通常在記錄行和字段列之間設(shè)置有網(wǎng)格線,構(gòu)成了直觀的二維表格。Access2000允許用戶重新設(shè)置或隱藏網(wǎng)格線。5.5.6設(shè)置立體效果

Access2000通常以二維平面效果顯示數(shù)據(jù)表視圖。為了美化數(shù)據(jù)表視圖,也可以以三維的立體效果顯示數(shù)據(jù)表視圖。

查詢可以從一個表或多個相互關(guān)聯(lián)的表中篩選記錄,也可以從已有的查詢中進(jìn)一步篩選記錄。在Access2000關(guān)係資料庫中,查詢分為選擇查詢(SelectQuery)和動作查詢(ActionQuery)兩種。用戶可以使用選擇查詢從指定的表中獲取滿足給定條件的記錄,也可以使用動作查詢從指定的表中篩選記錄以生成一個新表或者對指定的表進(jìn)行記錄的更新、添加或刪除操作。

Access2000允許用戶在前臺(選擇查詢設(shè)計視圖窗口)通過直觀的操作構(gòu)造查詢,系統(tǒng)自動在後臺(SQL視圖窗口)生成對應(yīng)的SQL語句。當(dāng)運(yùn)行建立好的查詢時,Access2000將從指定的表中根據(jù)給定條件篩選記錄。篩選出來的記錄組成為一個動態(tài)集(Dynaset)並以數(shù)據(jù)表視圖的方式顯示。

動態(tài)集是一個臨時表,當(dāng)用戶關(guān)閉動態(tài)集數(shù)據(jù)表視圖的時候,動態(tài)集消失。需要注意的是:動態(tài)集並不保存在查詢中,查詢對象僅僅保存查詢的結(jié)構(gòu)——查詢所涉及到的表和字段、排序準(zhǔn)則、篩選條件等。在查詢中,用戶可以方便地從單表或彼此相關(guān)的多表中獲取記錄並形成一個動態(tài)集,也可以方便地確定動態(tài)集由表的哪些字段組成。在查詢中,用戶可以通過設(shè)置篩選條件來選擇在動態(tài)集中顯示的記錄,也可以根據(jù)指定的字段對動態(tài)集進(jìn)行排序。在查詢中,用戶可以進(jìn)一步對篩選出來的記錄進(jìn)行計算並將結(jié)果返回到動態(tài)集中。運(yùn)行查詢所生成的動態(tài)集具有很大的靈活性,適合作為報表和窗體的數(shù)據(jù)源。6.2建立選擇查詢

Access2000的選擇查詢可以在指定的表或已建好的其他查詢中獲取滿足給定條件的記錄,有效地解決了數(shù)據(jù)的檢索問題。6.2.1建立選擇查詢6.2.2選擇查詢設(shè)計視圖結(jié)構(gòu)選擇查詢設(shè)計視圖分為上下兩部分,上半部分叫表/查詢輸入?yún)^(qū),用於顯示查詢要使用的表或其他查詢;下半部分叫範(fàn)例查詢(QBE)設(shè)計網(wǎng)格,用於確定動態(tài)集所擁有的字段和篩選條件等。在QBE設(shè)計網(wǎng)格中,Access2000初始設(shè)置了如下幾行:

【字段】行:用於設(shè)置查詢所涉及到的字段。

【表】行:用於指明字段所歸屬的表。【排序】行:用於設(shè)置查詢的排序準(zhǔn)則。

【顯示】行:用於確定相關(guān)字段是否在動態(tài)集中出現(xiàn)。它以複選框的形式出現(xiàn),當(dāng)複選框選中時,相關(guān)字段將在動態(tài)集中出現(xiàn)。

【準(zhǔn)則】行:用於設(shè)置查詢的篩選條件。

【或】行:用於設(shè)置查詢的篩選條件?!净颉啃幸远嘈械男问匠霈F(xiàn)。6.2.3運(yùn)行選擇查詢運(yùn)行選擇查詢的方法大體有如下三種:

l

在選擇查詢設(shè)計視圖中直接單擊工具欄上的【運(yùn)行】按鈕。

l

在選擇查詢設(shè)計視圖中直接單擊工具欄上的【視圖】按鈕。

l

在【資料庫】窗口中,首先選擇要運(yùn)行的查詢,然後單擊【打開】按鈕。6.2.4輸入查詢條件在QBE設(shè)計網(wǎng)格中設(shè)置有一個【準(zhǔn)則】行和多個【或】行。在【準(zhǔn)則】行和多個【或】行中,用戶可以設(shè)置記錄的篩選條件。在【準(zhǔn)則】行和【或】行中設(shè)置篩選條件時,如果涉及到關(guān)係運(yùn)算符=,那麼可以將其省略。如果要搜尋的字段是【文本】數(shù)據(jù)類型的字段,那麼應(yīng)為要搜尋的文本數(shù)據(jù)添加引號。如果沒有這樣做,Access2000會自動為文本數(shù)據(jù)添加引號。在【準(zhǔn)則】行和【或】行中,相鄰行中設(shè)置的篩選條件彼此之間存在邏輯或(OR)的關(guān)係。但是在同一【準(zhǔn)則】行或【或】行的不同列中輸入的多個篩選條件,它們彼此之間存在邏輯與(AND)的關(guān)係。6.2.5設(shè)置字段屬性在選擇查詢設(shè)計視圖中,表的字段屬性是可繼承的。也就是說,如果在表的設(shè)計視圖中設(shè)置了某字段的字段屬性,那麼為該字段設(shè)置的字段屬性在查詢中同樣有效。如果在表的設(shè)計視圖中沒有設(shè)置字段屬性或者設(shè)置的字段屬性不符合查詢的要求,那麼Access2000允許用戶在選擇查詢設(shè)計視圖中重新設(shè)置字段屬性。6.2.6建立計算運(yùn)算式在選擇查詢設(shè)計視圖中,【字段】行除了可以設(shè)置查詢所涉及的字段以外,還可以設(shè)置包含字段的計算運(yùn)算式。利用計算運(yùn)算式獲得表中沒有存儲的、經(jīng)過加工處理的資訊。需要注意的是:在計算運(yùn)算式中,字段要用方括號([])括起來。6.3修改選擇查詢

對於建立好的選擇查詢,Access2000允許用戶重新進(jìn)行設(shè)計修改。6.3.1撤銷字段6.3.2插入字段6.3.3移動字段6.3.4命名字段6.4建立匯總查詢

有時,用戶可能對表中的每一條記錄並不十分關(guān)心,而關(guān)心的僅僅是記錄的匯總結(jié)果。例如,用戶可能並不關(guān)心學(xué)生的具體選課情況及其成績,而更關(guān)心每一個學(xué)生的總成績、平均成績等匯總結(jié)果。為了獲得這些匯總數(shù)據(jù),需要建立匯總查詢。匯總查詢也是一種選擇查詢。

若要建立匯總查詢,應(yīng)首先在打開的選擇查詢設(shè)計視圖中單擊工具欄上的【合計】按鈕,Access2000在QBE設(shè)計網(wǎng)格中增加【總計】行。

【總計】行用於為參與匯總計算的所有字段設(shè)置匯總選項(xiàng)。

【總計】行共有12個選項(xiàng),它們分別是:lGroupBy選項(xiàng):用以指定分組匯總字段。lSum選項(xiàng):為每一組中指定的字段進(jìn)行求和運(yùn)算。lAvg選項(xiàng):為每一組中指定的字段進(jìn)行求平均值運(yùn)算。lMin選項(xiàng):為每一組中指定的字段進(jìn)行求最小值運(yùn)算。lMax選項(xiàng):為每一組中指定的字段進(jìn)行求最大值運(yùn)算。lCount選項(xiàng):根據(jù)指定的字段計算每一組中記錄的個數(shù)。lStDev選項(xiàng):根據(jù)指定的字段計算每一組的統(tǒng)計標(biāo)準(zhǔn)差。lVar選項(xiàng):根據(jù)指定的字段計算每一組的統(tǒng)計方差。lFirst選項(xiàng):根據(jù)指定的字段獲取每一組中首條記錄該字段的值。lLast選項(xiàng):根據(jù)指定字段獲取每一組中最後一條記錄該字段的值。lExpression選項(xiàng):用以在QBE設(shè)計網(wǎng)格的“字段”行中建立計算運(yùn)算式。lWhere選項(xiàng):限定表中的哪些記錄可以參加分組匯總。6.5建立交叉表查詢

Access2000支持一種特殊類型的匯總查詢——交叉表查詢。交叉表查詢生成的動態(tài)集看起來像一個二維表格,在表格中生成匯總計算值。

【交叉表】行用於確定作為二維表格行頭和列頭的字段以及匯總字段。6.6使用查詢參數(shù)

Access2000允許用戶在查詢設(shè)計視圖中先輸入一個參數(shù),然後當(dāng)查詢運(yùn)行時,再提示輸入篩選條件。在選擇查詢設(shè)計視圖中輸入?yún)?shù)的方法是:在【準(zhǔn)則】行或【或】行的關(guān)係運(yùn)算式中輸入一個放在方括號中的短語。這樣,當(dāng)運(yùn)行這個選擇查詢時,Access2000將彈出【輸入?yún)?shù)值】對話框,要求用戶輸入要篩選的參數(shù)值。6.7建立多表查詢

到目前為止,主要介紹了對一個表如何建立選擇查詢的方法,這主要是出於簡化問題的考慮。實(shí)際上,對一個表如何建立選擇查詢的方法同樣適合於對多表的查詢。Access2000對多表的查詢與對單表的查詢一樣方便快捷。Access2000通過選擇查詢可以從多表中篩選記錄並將其組成為一個完整統(tǒng)一的動態(tài)集。需要注意的是:在選擇查詢設(shè)計視圖中,如果要對多表進(jìn)行查詢,那麼這些表彼此之間應(yīng)建立表間關(guān)係。在選擇查詢設(shè)計視圖中,表間關(guān)係可以分為永久表間關(guān)係和臨時表間關(guān)係兩種。永久表間關(guān)係適合於所有的查詢,如果為兩個表建立了永久表間關(guān)係,那麼在選擇查詢設(shè)計視圖中這兩個表的永久表間關(guān)係將自動生效。7.1瞭解動作查詢

Access2000提供了四種動作查詢:更新查詢、生成表查詢、追加查詢和刪除查詢。更新查詢是在指定的表中對篩選出來的記錄進(jìn)行更新操作;生成表查詢是把從指定的表或查詢中篩選出來的記錄集生成一個新表;追加查詢是將從表或查詢中篩選出來的記錄添加到另一個表中去;刪除查詢是在指定的表中刪除篩選出來的記錄。動作查詢是建立在選擇查詢基礎(chǔ)之上的查詢。在建立動作查詢時,Acces

溫馨提示

  • 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

提交評論