版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第1章數(shù)據(jù)庫原理及基本概念
本章主要是介紹數(shù)據(jù)庫的基本原理和概念,數(shù)據(jù)庫技術(shù)的發(fā)展,數(shù)據(jù)庫系統(tǒng)簡介,數(shù)據(jù)庫管理系統(tǒng)的基本功能和層次結(jié)構(gòu),數(shù)據(jù)庫模型的基本概念和分類,以及如何設計數(shù)據(jù)庫等。本章重點
早期的計算機主要應用于科學計算。隨著生產(chǎn)的發(fā)展,社會的進步,計算機應用進入了數(shù)據(jù)處理的時代。在當今社會,計算機應用已經(jīng)涉足到社會的各個領域,人們的日常生活,工作與計算機的關(guān)系也愈加緊密。數(shù)據(jù)處理是計算機四大應用(科學計算、過程控制、數(shù)據(jù)處理和輔助設計)的一個重要方面。數(shù)據(jù)庫技術(shù)是在文件技術(shù)的基礎上發(fā)展起來的,它是數(shù)據(jù)處理的一種最新的方法。本章將從數(shù)據(jù)處理的發(fā)展過程簡要介紹數(shù)據(jù)庫系統(tǒng)所涉及的基本概念。第1章數(shù)據(jù)庫原理及基本概念1.1數(shù)據(jù)庫系統(tǒng)
1.2數(shù)據(jù)庫管理系統(tǒng)
1.3數(shù)據(jù)庫模型
1.4關(guān)系數(shù)據(jù)庫的設計1.5Access2002與數(shù)據(jù)庫的關(guān)系
1.6習題1.1數(shù)據(jù)庫系統(tǒng)1.1.1數(shù)據(jù)處理數(shù)據(jù)是描述事物的符號記錄。數(shù)字、文字、圖形、圖像、聲音等都是常見的數(shù)據(jù)表現(xiàn)形式。例如,20是一個數(shù)據(jù),它可以代表一個人的年齡,或者是一個學生的選修課程數(shù)目等信息。所以數(shù)據(jù)的表現(xiàn)形式還不能完全表達內(nèi)容,只有經(jīng)過解釋,才能將其變成有意義的數(shù)據(jù)。另外,數(shù)據(jù)之間是有聯(lián)系,有結(jié)構(gòu)的。例如,學生的編號、姓名、性別等。數(shù)據(jù)處理是指對大量的各種形式的數(shù)據(jù)進行收集、加工、傳輸和存儲的一系列工作。其目的就是從原始的大量的數(shù)據(jù)中提煉出對人們有價值的信息,幫助人們對環(huán)境進行控制和做出行動的決策。1.1.2數(shù)據(jù)庫在數(shù)據(jù)處理中,數(shù)據(jù)的計算比較簡單,數(shù)據(jù)的管理比較復雜。數(shù)據(jù)管理就是指數(shù)據(jù)的收集、整理、組織、存儲和檢索等操作。數(shù)據(jù)管理是數(shù)據(jù)處理的核心,而數(shù)據(jù)庫技術(shù)就是對數(shù)據(jù)進行管理的。在日常生活中我們經(jīng)常會遇到數(shù)據(jù)庫,例如教師上課的課程表,學生的成績登記等。簡單來說,數(shù)據(jù)庫是存放數(shù)據(jù)的地方,相當于是存放數(shù)據(jù)的倉庫,并且是以結(jié)構(gòu)化的方式進行存儲,以便于查詢、應用、數(shù)據(jù)更新和刪除等操作。數(shù)據(jù)庫的一個被大家普遍接受的更為嚴格的定義是:數(shù)據(jù)庫是一組相互關(guān)聯(lián)的數(shù)據(jù)集合,它用系統(tǒng)的方法將數(shù)據(jù)組織起來,具有較小的數(shù)據(jù)冗余,可以供多個用戶使用,具有較高的數(shù)據(jù)獨立性,具有安全控制機制,能夠確保數(shù)據(jù)的安全、可靠,能有效、及時地處理數(shù)據(jù),并能保證數(shù)據(jù)的一致性與完整性。1.1.3數(shù)據(jù)庫技術(shù)的發(fā)展數(shù)據(jù)庫技術(shù)是計算機科學技術(shù)中發(fā)展最快的重要分支之一,它已經(jīng)成為計算機信息系統(tǒng)和應用系統(tǒng)的重要技術(shù)支柱。數(shù)據(jù)庫技術(shù)的發(fā)展大致經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。1.人工管理階段在20世紀50年代中期,計算機主要用于科學計算。外存只有磁盤、卡片、磁帶,沒有磁盤等直接存取的存儲設備;軟件只有匯編語言,沒有操作系統(tǒng),沒有管理數(shù)據(jù)的軟件;數(shù)據(jù)處理方式是批處理。這個時期數(shù)據(jù)不保存;沒有相應的軟件系統(tǒng)負責數(shù)據(jù)的管理工作,數(shù)據(jù)由應用程序管理;數(shù)據(jù)不共享,一組數(shù)據(jù)只對應一個程序;數(shù)據(jù)不具有獨立性,當其邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化后,必須對應用程序做相應的修改。2.文件系統(tǒng)階段
20世紀50年代后期到60年代中期,硬件方面有了磁盤、磁鼓等直接存儲設備;軟件方面有了專門的數(shù)據(jù)管理軟件,一般為文件系統(tǒng);處理形式上不僅有了批處理,而且能聯(lián)機實時處理。所以,數(shù)據(jù)可以長期保存;可以由文件系統(tǒng)管理數(shù)據(jù),但是數(shù)據(jù)共享性仍然較差,冗余度大,數(shù)據(jù)的獨立性差。3.數(shù)據(jù)庫系統(tǒng)階段
20世紀60年代以來,計算機用于管理的規(guī)模越來越大,應用越來越廣泛,硬件有了大容量磁盤,出現(xiàn)越來越多的系統(tǒng)軟件,并且出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng)——數(shù)據(jù)庫系統(tǒng)。它采用復雜的數(shù)據(jù)模型結(jié)構(gòu);有較高的數(shù)據(jù)獨立性;可以提供方便的用戶接口;并能提供數(shù)據(jù)控制功能。1.1.4數(shù)據(jù)庫系統(tǒng)簡介數(shù)據(jù)庫系統(tǒng)由三部分組成:數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)和數(shù)據(jù)庫應用系統(tǒng),三部分之間的關(guān)系如圖1-1所示。1.數(shù)據(jù)庫(DataBase)數(shù)據(jù)庫是用來存儲數(shù)據(jù)的,它是按一定結(jié)構(gòu)存儲在計算機中相互關(guān)聯(lián)的數(shù)據(jù)的集合。例如,可以將描述學生的姓名、年齡、性別、家庭住址、E-mail信箱等相關(guān)信息存儲在一個數(shù)據(jù)庫中;為了加強對圖書館的圖書管理,可以對每一本圖書進行分類編號,然后將描述圖書的編號、書名,作者、出版社、定價等相關(guān)信息存儲在一個數(shù)據(jù)庫中等。數(shù)據(jù)庫中有兩類數(shù)據(jù),一類是用戶數(shù)據(jù),如“學生表”中每個學生的信息;一類是系統(tǒng)數(shù)據(jù),如“學生表”中的結(jié)構(gòu),系統(tǒng)數(shù)據(jù)又稱為數(shù)據(jù)字典。圖1-1數(shù)據(jù)庫系統(tǒng)的組成2.數(shù)據(jù)庫管理系統(tǒng)DBMS(DataBaseManagementSystem)數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一類通用的軟件系統(tǒng),它由一組計算機程序組成。數(shù)據(jù)庫管理系統(tǒng)能夠?qū)?shù)據(jù)庫進行有效的管理,這其中包括存儲管理、安全性管理、完整性管理等,可以對數(shù)據(jù)庫進行包括定義、查詢、更新以及各種控制等操作。數(shù)據(jù)庫管理系統(tǒng)是指在數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)進行管理的系統(tǒng)軟件。它是數(shù)據(jù)庫系統(tǒng)的核心組成部分,用戶能夠方便快捷地建立、維護、查詢、存取和處理數(shù)據(jù)庫中數(shù)據(jù)。例如,MicrosoftAccess2002就是關(guān)系型桌面數(shù)據(jù)庫管理系統(tǒng)。3.數(shù)據(jù)庫應用系統(tǒng)數(shù)據(jù)庫應用系統(tǒng)DBAS(DatabaseApplicationSystems)是指數(shù)據(jù)庫應用程序系統(tǒng),它是針對某一個實際應用管理對象而進行設計開發(fā)的面向用戶的軟件系統(tǒng)。它是建立在DBMS基礎之上,具有較好的人機交互操作性和友好的用戶界面。如學生管理系統(tǒng)、圖書館管理系統(tǒng)、民航售票系統(tǒng)等都是數(shù)據(jù)庫應用系統(tǒng)。數(shù)據(jù)庫應用系統(tǒng)涉及系統(tǒng)開發(fā)人員、數(shù)據(jù)庫管理員和用戶。(1)開發(fā)人員主要負責應用系統(tǒng)的開發(fā)設計編程,并進行調(diào)試和安裝。(2)控制和管理數(shù)據(jù)庫的人員稱作數(shù)據(jù)庫管理員DBA(DataBaseAdministrator)。DBA負責整個數(shù)據(jù)庫系統(tǒng)的建立、管理、維護以及所有使用系統(tǒng)人員的協(xié)調(diào)工作等。(3)用戶是應用程序的使用者,他通過應用程序的用戶接口使用數(shù)據(jù)庫。BACK1.2數(shù)據(jù)庫管理系統(tǒng)1.2.1數(shù)據(jù)庫管理系統(tǒng)的基本功能一般來說,一個數(shù)據(jù)庫管理系統(tǒng)應具備以下功能:1.數(shù)據(jù)庫定義功能它能定義數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)間的關(guān)系,更進一步地定義數(shù)據(jù)的完整性。2.數(shù)據(jù)庫操作功能實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的基本操作,包括數(shù)據(jù)的增加、刪除、修改、數(shù)據(jù)庫的備份等。3.數(shù)據(jù)庫查詢功能為用戶提供各種靈活的方式,來查詢數(shù)據(jù)庫內(nèi)的數(shù)據(jù)。4.數(shù)據(jù)庫控制功能負責數(shù)據(jù)庫的安全性控制、完整性控制、多用戶環(huán)境下的存取控制等。5.數(shù)據(jù)庫通信功能提供分布式數(shù)據(jù)庫或網(wǎng)絡操作功能,以便與網(wǎng)絡上的其他應用軟件進行關(guān)聯(lián)。而數(shù)據(jù)庫管理員擁有完整的管理權(quán)限來進行管理。1.2.2數(shù)據(jù)庫管理系統(tǒng)的層次結(jié)構(gòu)數(shù)據(jù)庫管理系統(tǒng)可以劃分為若干層次,這樣有助于它的設計和維護。如圖1-2所示是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的層次結(jié)構(gòu)示例。它根據(jù)處理對象的不同,按照最高級到最低級的次序來劃分,具有普遍性。圖中包括了與關(guān)系數(shù)據(jù)庫管理系統(tǒng)密切相關(guān)的應用層和操作系統(tǒng)。最上層是應用層,位于DBMS核心之外。它處理的對象是各種各樣的數(shù)據(jù)庫應用,可以用開發(fā)工具開發(fā)或者用宿主語言編寫。應用程序利用DBMS提供的接口來完成事務處理和查詢處理。圖1-2RDBMS的層次結(jié)構(gòu)
第2層是語言翻譯處理層。它處理的對象是數(shù)據(jù)庫語言,如SQL。其功能是對數(shù)據(jù)庫語言的各類語句進行語法分析、視圖轉(zhuǎn)換、授權(quán)檢查、完整性檢查和查詢優(yōu)化等。通過對下層基本模塊的調(diào)用,生成可執(zhí)行代碼。這些代碼的運行即可完成數(shù)據(jù)庫語句的功能要求。向上提供的接口是單記錄操作。第3層是數(shù)據(jù)存取層。該層處理的對象是單個元組。完成掃描(如表掃描)、排序、查找、插入、刪除和封鎖等基本操作,完成存取路徑維護,并發(fā)控制和事務管理、安全控制等工作。向上提供的接口是單記錄操作。
第4層是數(shù)據(jù)存儲層。該層處理的對象是數(shù)據(jù)頁和系統(tǒng)緩沖區(qū)。執(zhí)行文件的邏輯打開、關(guān)閉,讀寫數(shù)據(jù)頁,完成緩沖區(qū)管理,內(nèi)外存交換和外存的數(shù)據(jù)管理等功能。操作系統(tǒng)是DBMS的基礎,它處理的對象是數(shù)據(jù)文件的物理塊,執(zhí)行物理文件的讀寫操作,保證DBMS對數(shù)據(jù)邏輯上讀寫真實地映射到物理文件上。操作系統(tǒng)提供的存取原語和基本的存取方法通常作為和DBMS存儲層的接口。這種DBMS層次結(jié)構(gòu)劃分的思想具有普遍性。但具體的系統(tǒng)在劃分細節(jié)上是多種多樣的,可以根據(jù)DBMS實現(xiàn)的環(huán)境和系統(tǒng)的規(guī)模靈活處理。BACK1.3數(shù)據(jù)庫模型
目前,數(shù)據(jù)庫領域中最常用的數(shù)據(jù)模型有四種,層次模型,網(wǎng)狀模型,關(guān)系模型和面向?qū)ο竽P汀?.3.1數(shù)據(jù)模型的基本概念1.信息、數(shù)據(jù)和實體信息是對客觀事物或抽象概念的描述。數(shù)據(jù)是表示信息的,是對客觀事物或抽象概念的符號化的描述??陀^存在并可相互區(qū)別的事物稱為實體。如一名學生、一本書、一個工程等。2.實體間的聯(lián)系現(xiàn)實世界中的事物彼此之間是有關(guān)聯(lián)的,任何一個實體都不是孤立存在的。也就是說,實體與實體之間是存在一定聯(lián)系的,實體與實體之間的聯(lián)系是比較復雜的,但抽象化后,可將實體與實體之間的聯(lián)系分為三類:
(1)一對一關(guān)系。如果有兩個實體的集合A和B,A中每一個實體最多與B中的一個實體有聯(lián)系,反過來,B中每一個實體最多與A中的一個實體有聯(lián)系,則稱實體集A和B之間是“一對一關(guān)系”。這是最簡單的實體與實體之間的聯(lián)系?,F(xiàn)實世界中我們常會遇見。如實體集“學生班”和“班長”之間、“工程項目”和“項目負責人”之間就是“一對一關(guān)系”。(2)一對多關(guān)系。如果有兩個實體的集合A和B,A中每一個實體與B中的一個或多個實體有聯(lián)系,反過來,B中每一個實體最多與A中的一個實體有聯(lián)系,則稱實體集A和B之間是“一對多關(guān)系”。例如,實體集“工程項目”和“工程參加者”之間、“學生班”和“學生”之間就是“一對多關(guān)系”。
(3)多對多關(guān)系。如果有兩個實體的集合A和B,A中每一個實體與B中的一個或多個實體有聯(lián)系,反過來,B中每一個實體與A中的一個或多個實體有聯(lián)系,則稱實體集A和B之間是“多對多關(guān)系”。例如,實體集“圖書”和“借書人”之間、“學生”和“教師”之間就是“多對多關(guān)系”。實際上,“一對一關(guān)系”是“一對多關(guān)系”的特例,“一對多關(guān)系”是“多對多關(guān)系”的特例。三者之間的關(guān)系如圖1-3所示。圖1-3各種實體之間關(guān)系的包含關(guān)系1.3.2非關(guān)系模型數(shù)據(jù)庫系統(tǒng)層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型。
1969年,美國的IBM公司研制了基于層次模型的數(shù)據(jù)庫管理系統(tǒng)IMS(InformationManagementSystem)。其特點是:數(shù)據(jù)按層次模型組織,如圖1-4所示。
20世紀60年代末70年代初,美國數(shù)據(jù)系統(tǒng)語言協(xié)商會CODASYL(ConferenceOnDataSystemLanguage)下屬的數(shù)據(jù)庫任務組DBTG(DataBaseTaskGroup)提出了若干報告,對網(wǎng)狀數(shù)據(jù)庫中的許多概念、方法和技術(shù)都進行了詳細的說明。DBTG的方法是網(wǎng)狀數(shù)據(jù)庫的典型代表,奠定了網(wǎng)狀數(shù)據(jù)庫的基礎。其特點是:數(shù)據(jù)按網(wǎng)狀模型組織,如圖1-5所示。
圖1-4層次模型數(shù)據(jù)結(jié)構(gòu)
圖1-5網(wǎng)狀模型數(shù)據(jù)結(jié)構(gòu)
非關(guān)系型數(shù)據(jù)庫系統(tǒng)在20世紀60年代末至20世紀80年代初非常流行,在數(shù)據(jù)庫系統(tǒng)產(chǎn)品中占據(jù)了主導地位,現(xiàn)在已逐漸被關(guān)系模型的數(shù)據(jù)庫系統(tǒng)所代替,但是在美國等一些國家里,由于早期開發(fā)的應用系統(tǒng)都是基于層次數(shù)據(jù)庫或網(wǎng)狀數(shù)據(jù)庫系統(tǒng)的,因此目前仍有不少的層次數(shù)據(jù)庫或網(wǎng)狀數(shù)據(jù)庫在使用。1.層次模型層次模型是數(shù)據(jù)庫系統(tǒng)最早的一種模型,它的數(shù)據(jù)結(jié)構(gòu)是一種樹型結(jié)構(gòu),這種樹型結(jié)構(gòu)由結(jié)點和有向連線組成,如圖1-1所示。層次模型中每個結(jié)點為一個記錄型,每個記錄可以有多個數(shù)據(jù)項組成,其描述一個實體的類型;結(jié)點之間的有向連線表示記錄之間的聯(lián)系。根據(jù)結(jié)點所在的層次,上層結(jié)點稱為下層的雙親結(jié)點;下層結(jié)點稱為上層結(jié)點的子女結(jié)點;沒有雙親結(jié)點的結(jié)點稱為根結(jié)點;沒有子女結(jié)點的結(jié)點稱為葉結(jié)點。記錄與記錄之間存在著一對一的關(guān)系和一對多的關(guān)系,如圖1-6所示。圖1-6層次模型中記錄與記錄之間的聯(lián)系
需要注意的是,層次模型樹型結(jié)構(gòu)的特點是,每棵樹有且僅有一個根結(jié)點;除根結(jié)點以外,層次模型中的每個結(jié)點有且僅有一個雙親結(jié)點;每個結(jié)點可以有0個或任意有限多個子結(jié)點。在圖1-4中,結(jié)點A是根結(jié)點;結(jié)點E是結(jié)點F和G的父結(jié)點;結(jié)點F和G是結(jié)點E的子結(jié)點。2.網(wǎng)狀模型網(wǎng)狀模型基本結(jié)構(gòu)的是:有一個以上的結(jié)點無雙親結(jié)點;至少有一個結(jié)點有多于一個的雙親。在圖1-5a中結(jié)點A和B無雙親結(jié)點;在圖1-5b中結(jié)點C和D均有兩個雙親結(jié)點A和B。記錄與記錄之間不僅存在著一對一的關(guān)系和一對多的關(guān)系,而且還存在著多對多的關(guān)系,如圖1-7所示。圖1-7網(wǎng)狀模型中記錄之間的多對多聯(lián)系1.3.3關(guān)系型模型數(shù)據(jù)庫系統(tǒng)
20世紀70年代中期,商品化的關(guān)系型數(shù)據(jù)庫系統(tǒng)開始問世。80年代初出現(xiàn)了一批商品化的基于關(guān)系型數(shù)據(jù)模型而建立的關(guān)系型數(shù)據(jù)庫系統(tǒng)。如SQL/DS,DB2,Oracle和INFORMIN等?,F(xiàn)在微機上使用的數(shù)據(jù)庫系統(tǒng)幾乎都是關(guān)系型數(shù)據(jù)庫系統(tǒng)。
1970年美國IBM公司SanJose研究實驗室的研究員E.F.Cord發(fā)表了題為“大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型”的論文,提出了關(guān)系模型的理論,為關(guān)系數(shù)據(jù)庫技術(shù)奠定了理論基礎。關(guān)系模型的特點:數(shù)據(jù)按二維表格組織,如表1-1所示。表1-1課程表課程號課程名教師學分1高等數(shù)學李萍62英語周強63計算機王輝4
關(guān)系模型是最重要的一種模型。關(guān)系模型的特點是用一組二維表來表示數(shù)據(jù)和數(shù)據(jù)之間的聯(lián)系。二維表結(jié)構(gòu)簡單、直觀。目前,關(guān)系數(shù)據(jù)庫在數(shù)據(jù)庫管理領域占主導地位。每一張二維表組成一個關(guān)系,一個關(guān)系有一個關(guān)系名。一個關(guān)系由表頭和記錄數(shù)據(jù)兩部分組成,表頭由描述客觀世界中的實體的各個屬性(也稱數(shù)據(jù)項或字段)組成,表的每一列為一個字段,表頭由每一個字段的字段名構(gòu)成。表的每一行稱為一條記錄,它對應客觀世界中的一個實體,每條記錄的數(shù)據(jù)由實體在各個字段的值組成。能夠區(qū)分任意兩條記錄的字段或字段的集合稱為關(guān)鍵字段。圖1-8表與表之間的關(guān)系
表與表之間通過關(guān)鍵字段建立起一對一的關(guān)系、一對多的關(guān)系和多對多的關(guān)系,如圖1-8所示。一個關(guān)系應該具有以下性質(zhì):(1)一個關(guān)系中每列的數(shù)據(jù)類型是相同的,而且是不可再分的數(shù)據(jù)項。(2)一個關(guān)系中不可以有重名的兩個字段。(3)一個關(guān)系中不可以有完全相同的兩條記錄。(4)一個關(guān)系中的任意兩行或任意兩列均可以交換。1.3.4面向?qū)ο髷?shù)據(jù)庫系統(tǒng)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)是數(shù)據(jù)庫技術(shù)與面向?qū)ο蟪绦蛟O計方法相結(jié)合的產(chǎn)物。對數(shù)據(jù)庫應用系統(tǒng)的設計,從原有的按模塊化程序設計轉(zhuǎn)變?yōu)槊嫦驅(qū)ο蟮臄?shù)據(jù)庫系統(tǒng)設計。傳統(tǒng)的數(shù)據(jù)庫只能存儲文本信息,隨著多媒體應用的擴大,人們希望數(shù)據(jù)庫不僅能夠存儲文本信息還要具有存儲多媒體數(shù)據(jù)(如聲音、圖形等)的能力。20世紀80年代中期以來,出現(xiàn)了一些商品化的面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng),如SQL/DS,DB2,Oracle,INFORMIN,Unify和DBASE等。面向?qū)ο蟮臄?shù)據(jù)模型是80年代后期的一個重要趨勢。80年代后期,為了適應新的數(shù)據(jù)庫應用,例如計算機輔助設計、軟件工程等,人們開展了面向?qū)ο蟮臄?shù)據(jù)模型和數(shù)據(jù)庫管理系統(tǒng)的研究。面向?qū)ο蟮臄?shù)據(jù)模型和面向?qū)ο蟮臄?shù)據(jù)庫管理系統(tǒng)至今仍然是熱門的數(shù)據(jù)庫研究領域之一。BACK1.4關(guān)系數(shù)據(jù)庫的設計
數(shù)據(jù)庫的應用越來越廣泛,從小型的單項事務處理系統(tǒng)到大型復雜的信息系統(tǒng),都采用先進的數(shù)據(jù)庫技術(shù)來保持系統(tǒng)數(shù)據(jù)的整體性、完整性和共享性。目前,一個國家的數(shù)據(jù)庫建設規(guī)模(數(shù)據(jù)庫的個數(shù)、種類)、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志之一。數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建設中的核心技術(shù)。具體來說,數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求(信息要求和處理要求)。這個問題是數(shù)據(jù)庫在應用領域的主要研究課題。1.4.1數(shù)據(jù)庫設計方法數(shù)據(jù)庫設計通常是在一個通用的DBMS的支持下進行的,即利用現(xiàn)成的DBMS作為開發(fā)工具。由于數(shù)據(jù)庫中的數(shù)據(jù)要供不同的應用程序使用,實現(xiàn)數(shù)據(jù)共享,所以數(shù)據(jù)庫的設計在開發(fā)中就成為獨立開發(fā)活動,而且是在設計應用程序之前進行。數(shù)據(jù)庫設計主要是指確定數(shù)據(jù)庫的模型。關(guān)系型數(shù)據(jù)庫的設計可以運用“關(guān)系規(guī)范化”理論作為指導,對組成數(shù)據(jù)庫的各個二維表的結(jié)構(gòu)進行設計。數(shù)據(jù)庫設計方法中比較著名的方法有——新奧爾良(NewOrleans)方法。它的設計思想是,將數(shù)據(jù)庫設計分為四個階段:需求分析(分析用戶要求),概念設計(信息分析和定義),邏輯設計(設計實現(xiàn))和物理設計(物理數(shù)據(jù)庫設計),如圖1-9所示。圖1-9新奧爾良方法的數(shù)據(jù)庫設計步驟
此后,S.B.Yao等又將數(shù)據(jù)庫設計分為五個步驟。后來I.R.Plamer等又主張將數(shù)據(jù)庫設計當成一步接一步的過程,并采用一些輔助手段實現(xiàn)每一個過程。基于E-R模型的數(shù)據(jù)庫設計方法,或是基于3NF(第三范式)的設計方法,或是基于抽象語法規(guī)范的設計方法等,都是在數(shù)據(jù)庫設計的不同階段上支持實現(xiàn)的具體技術(shù)和方法。規(guī)范設計的基本思想是過程迭代和逐步求精。1.4.2數(shù)據(jù)庫設計的基本步驟按照規(guī)范化設計的方法,考慮到數(shù)據(jù)庫及其應用系統(tǒng)開發(fā)全過程,數(shù)據(jù)庫設計可以分為以下六個階段。1.需求分析階段進行數(shù)據(jù)庫設計之前,需要詳細了解用戶需求,采集和分析有關(guān)資料和數(shù)據(jù)。需求分析是整個設計的基礎,同時也是最困難、耗時耗力的工作。它需要系統(tǒng)分析人員和用戶之間進行反復密切的接觸和協(xié)商才能完成的一項工作。需求分析結(jié)果是否能夠做到完整、準確、全面地表述用戶的需求直接影響著數(shù)據(jù)庫的設計質(zhì)量。需求分析做得不好,甚至能夠?qū)е抡麄€數(shù)據(jù)庫設計返工重做。2.概念設計階段概念設計是整個數(shù)據(jù)庫設計的關(guān)鍵,它通過對用戶需求進行綜合、歸納和抽象,形成一個獨立于具體的數(shù)據(jù)庫管理系統(tǒng)的概念模型。3.邏輯設計階段選擇適宜的數(shù)據(jù)模型來描述數(shù)據(jù)和功能,對數(shù)據(jù)庫數(shù)據(jù)和功能分析有著重大的影響。邏輯設計是將概念模型轉(zhuǎn)換為某個數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,同時對其進行綜合、細化,以得到優(yōu)化的數(shù)據(jù)模型。4.物理設計階段數(shù)據(jù)庫物理設計階段是為邏輯數(shù)據(jù)模型選取一個最為合適的物理存儲結(jié)構(gòu)。物理存儲結(jié)構(gòu)的選取影響著數(shù)據(jù)庫的操作效率、響應時間和物理空間利用率。5.數(shù)據(jù)庫實施階段在此階段,設計人員運用DBMS提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設計和物理設計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應用程序,組織數(shù)據(jù)入庫,并進行試運行。6.數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫應用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調(diào)整與修改。
一個數(shù)據(jù)庫應用系統(tǒng)所使用的數(shù)據(jù)有兩種不同的觀察角度。一種觀點是從數(shù)據(jù)的描述出發(fā),主要是指數(shù)據(jù)的收集、數(shù)據(jù)庫的建立以及數(shù)據(jù)庫的維護。另一種觀點是從數(shù)據(jù)的使用出發(fā),比如用戶對數(shù)據(jù)查詢、統(tǒng)計、打印報表等的要求?!纠繌臄?shù)據(jù)使用出發(fā),做一個比較適合于小型的數(shù)據(jù)庫應用系統(tǒng)的設計。其開發(fā)過程如圖1-10所示。(1)需求分析。因為軟件開發(fā)人員對計算機比較熟悉,對具體業(yè)務并不熟悉,而用戶則恰恰相反。所以,對于同一個問題的理解,用戶和開發(fā)人員可能存在很大差異。因此,在這一階段開發(fā)人員需要和用戶以及用戶領域的專家進行勾通,統(tǒng)一認識,確定系統(tǒng)的功能、性能、數(shù)據(jù)、界面等要求。需求分析階段實際上包含對處理數(shù)據(jù)的分析和對用戶所希望的軟件功能的分析兩個方面。圖1-10數(shù)據(jù)庫應用系統(tǒng)設計的基本過程(2)數(shù)據(jù)庫設計。如何將要處理的數(shù)據(jù)信息以數(shù)據(jù)庫的形式存儲?這一階段主要是對數(shù)據(jù)庫結(jié)構(gòu)的設計。合理的數(shù)據(jù)庫結(jié)構(gòu)的設計直接關(guān)系到整個應用系統(tǒng)的設計工作。(3)應用軟件設計。應用軟件設計需要首先確定軟件設計的總體結(jié)構(gòu),然后再對組成總體結(jié)構(gòu)的每一個模塊進行具體的編碼設計,最后進行編碼的測試工作。(4)功能的測試。軟件原型形成后,需要按照用戶的需求檢測軟件的功能,如果還有不完善的地方,則需要回溯到數(shù)據(jù)庫設計階段進行修改,直到應用軟件的設計滿足用戶的需求為止。此時,設計工作便可以進入軟件的運行與維護階段。(5)系統(tǒng)運行與維護。開發(fā)完一個軟件產(chǎn)品投入使用后,常常由于各種原因需要對其作適當?shù)男薷?。在軟件系統(tǒng)的運行期間對其進行調(diào)整和修改,以改正在開發(fā)階段產(chǎn)生,在測試階段又沒有發(fā)現(xiàn)的錯誤,實現(xiàn)軟件功能的擴充、性能的改善、使軟件適應新的工作環(huán)境的需要等,這些工作都是軟件運行及維護階段所要完成的工作。BACK1.5Access2002與數(shù)據(jù)庫的關(guān)系MicrosoftAccess2002是美國微軟公司最新推出的辦公自動化軟件OfficeXP的一個組件。MicrosoftAccess以易學易用、可視化操作等特點,已成為目前Windows操作系統(tǒng)下最為流行的功能強大的桌面數(shù)據(jù)庫管理系統(tǒng)開發(fā)工具。具體的講,是一個桌面“關(guān)系”數(shù)據(jù)庫管理系統(tǒng)。目前軟件市場上已出現(xiàn)了大量的數(shù)據(jù)庫管理系統(tǒng)軟件。20世紀80年代,隨著微機的普及,dBaseX系列、FoxbaseX系列、FoxPro等一系列數(shù)據(jù)庫管理軟件逐步得到了廣泛的應用。與此同時,關(guān)系數(shù)據(jù)庫系統(tǒng)的使用在我國與日俱增。如今適宜在網(wǎng)絡環(huán)境下開發(fā)數(shù)據(jù)庫產(chǎn)品的SQLServer、Oracle、Sybase、Access等數(shù)據(jù)庫管理系統(tǒng)軟件也正在不斷的得到應用和發(fā)展。MicrosoftAccess2002在原有版本的基礎上,增加了一些與網(wǎng)絡有關(guān)的操作。在Access的數(shù)據(jù)庫中,數(shù)據(jù)由表格組成,在表格中具有主關(guān)鍵字和外部關(guān)鍵字的定義,數(shù)據(jù)庫中還提供了完全的引用完整性,保證了數(shù)據(jù)庫的完整性。同時,Access的表格具有數(shù)據(jù)確認規(guī)則,以避免不精確的數(shù)據(jù)輸入。表格的每一個字段都具有自己的格式和默認的定義。
Access能作為獨立數(shù)據(jù)庫管理系統(tǒng)使用,或作為客戶產(chǎn)生結(jié)構(gòu)化查詢語言這樣的服務程序。此外,Access數(shù)據(jù)庫具有開放式數(shù)據(jù)庫互連性(ODBC)特性,用戶可以與許多外部數(shù)據(jù)相連接。BACK第2章Access2002應用基礎2.1Access2002數(shù)據(jù)庫簡介
2.2Access2002的開發(fā)環(huán)境
2.3瀏覽Access2002
2.4習題
2.1Access2002數(shù)據(jù)庫簡介Access2002是Microsoft公司推出的OfficeXP系列辦公室自動化軟件的一個組件,是一個中、小型的數(shù)據(jù)庫管理系統(tǒng)。它提供了全新的“數(shù)據(jù)透視圖”視圖、“數(shù)據(jù)透視表”視圖、完全的XML支持和SQLServer2000的擴展屬性支持等。在原來版本的基礎上對其缺點進行了改進,并增加了許多新功能,更便于用戶的使用和編輯。2.1.1Access2002簡介學習Access相對來說比較容易,只需使用Access所提供的操作向?qū)Ъ纯赏瓿蓪?shù)據(jù)庫的管理、數(shù)據(jù)查詢和報表打印等操作。即使開發(fā)復雜的應用數(shù)據(jù)庫系統(tǒng),也只需編寫少量的程序代碼,甚至無須編寫任何程序代碼即可實現(xiàn)。
Access采用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各項功能對象化,將數(shù)據(jù)管理的常用功能封裝在各類對象的方法或?qū)傩灾?,通過對象的方法和屬性來完成對數(shù)據(jù)庫的管理和操作,從而簡化了開發(fā)工作。MicrosoftAccess2002提供了七種用于構(gòu)建數(shù)據(jù)庫系統(tǒng)的對象,將數(shù)據(jù)儲存、查詢制作、用戶操作界面、報表打印等設計工作規(guī)范化,使數(shù)據(jù)庫應用系統(tǒng)開發(fā)人員能夠快速、方便地制作符合要求的數(shù)據(jù)庫系統(tǒng)。
MicrosoftAccess2002提供了近百種向?qū)В梢杂糜谠O計數(shù)據(jù)庫、表格、窗體、報表、圖表、控件和標簽等,用戶可以根據(jù)不同的需要使用不同的向?qū)?。將復雜的工作變得簡單明了,使初學者能夠快速的掌握使用Access。
Access2002可以輕松完成與SQLServer、MicrosoftExcel、Word、Web的整合。2.1.2Access2002的特點在Access數(shù)據(jù)庫中,包含七個數(shù)據(jù)庫對象,分別是“表”、“查詢”、“窗體”、“報表”、“頁”、“宏”和“模塊”,如圖2-1所示。在表中可以添加、刪除或自定義表中已有的字段。圖2-1Access數(shù)據(jù)庫中的數(shù)據(jù)庫對象1.表在Access數(shù)據(jù)庫中,表是最基本的對象,所有收集來的數(shù)據(jù)都存儲在表中,表是數(shù)據(jù)庫中的數(shù)據(jù)倉庫。在Access數(shù)據(jù)庫中至少要有一個表存在,否則數(shù)據(jù)庫為空數(shù)據(jù)庫。當需要開發(fā)一個數(shù)據(jù)庫系統(tǒng)時,第一步工作就是根據(jù)應用系統(tǒng)的要求設計數(shù)據(jù)庫中的表的結(jié)構(gòu)。在Access2002中,有關(guān)表的操作都是通過表對象來實現(xiàn)的。表對象由包含表結(jié)構(gòu)的字段及其屬性和反映具體數(shù)據(jù)的記錄組成,如圖2-2所示。圖2-2學生信息表2.查詢用戶將數(shù)據(jù)存入到數(shù)據(jù)庫中最重要的目的在于日后能快速準確的查找所需要的信息,所以數(shù)據(jù)庫中一個重要的使用價值就在于數(shù)據(jù)庫的查詢,數(shù)據(jù)庫系統(tǒng)中查詢功能的強弱,在很大程度上反映了數(shù)據(jù)庫系統(tǒng)的性能。查詢是對數(shù)據(jù)庫提出的關(guān)于在數(shù)據(jù)庫表中查找相關(guān)數(shù)據(jù)的要求,可以在一個或多個表中按照不同的方式來查找某些特定的數(shù)據(jù),并將其集合在一起供用戶查看。查詢的同時還可以對相關(guān)的數(shù)據(jù)進行更改和分析。在Access2002中,有關(guān)查詢的操作都是通過查詢對象來實現(xiàn)的。在查詢設計窗口中,用戶可以通過可視化手段,根據(jù)查詢的要求進行不同方式的查看、更改和分析數(shù)據(jù)。查詢的基礎是SQL語言,這是關(guān)系數(shù)據(jù)庫用來查詢數(shù)據(jù)的操作語言。通過它可以結(jié)合整個表,根據(jù)特定條件查找相關(guān)的數(shù)據(jù)。3.窗體在Access2002中窗體是一種數(shù)據(jù)庫對象,是用戶實現(xiàn)各種操作的界面,主要用來輸入或顯示數(shù)據(jù)庫中的數(shù)據(jù)及應用程序的執(zhí)行控制。一個優(yōu)良的數(shù)據(jù)庫系統(tǒng)不僅需要有高質(zhì)量的數(shù)據(jù)管理功能、高效率的數(shù)據(jù)查詢功能,而且還需要有一個美觀的、友好的用戶操作界面。給用戶帶來方便,并可引導用戶順利完成對數(shù)據(jù)庫進行的操作。在一個應用系統(tǒng)的開發(fā)中,用戶操作界面的設計在整個系統(tǒng)中占有很大的比例。在Access2002中有關(guān)用戶操作界面的設計都是通過窗體對象來實現(xiàn)的,它負責管理窗體的制作、實現(xiàn)對數(shù)據(jù)的顯示和操作。在Access的窗體設計視圖窗口中,可以利用可視化的操作手段,對窗體對象中的各項內(nèi)容進行設計和修改。比如,Windows環(huán)境中的命令按鈕、單選按鈕、文本框、列表框、組合框、復選框等所有控件,在Access的窗體設計中幾乎都可以通過可視化的方法設計,Access設計的窗體界面風格與Windows環(huán)境下的窗口完全符合。4.報表數(shù)據(jù)庫系統(tǒng)中另一個重要的功能就是打印報表,數(shù)據(jù)庫系統(tǒng)一般都為用戶提供一個報表打印功能,使用戶能夠?qū)?shù)據(jù)庫中的數(shù)據(jù)按一定的格式輸出到數(shù)據(jù)庫的外面。報表的作用就是將用戶選定的數(shù)據(jù)信息進行格式化的顯示和打印。在Access2002中,可以使用可視化的手段,利用報表對象進行報表的設計和修改,實現(xiàn)報表的打印。報表對象提供了簡單、方便的打印功能。報表可以基于某一個數(shù)據(jù)表,也可以基于一個表或多個表之間某一個查詢的結(jié)果。5.頁頁是應用在互聯(lián)網(wǎng)上的Web網(wǎng)頁。隨著Internet的飛速發(fā)展,制作Web頁成為越來越多的用戶需求。在Access2002中,使用頁對象可以方便地制作出各種Web頁。頁的使用與窗體的使用類似,用戶可以通過它查看、輸入、編輯和刪除數(shù)據(jù)庫中的數(shù)據(jù),即使是在Internet或Intranet上也能更新和查看數(shù)據(jù),同時Web頁中的相關(guān)數(shù)據(jù)也會隨著數(shù)據(jù)庫中內(nèi)容的變化而變化。6.宏宏是用來自動執(zhí)行的一個操作或一組操作的集合。其中,每一個操作實現(xiàn)特定的功能。在一個數(shù)據(jù)庫中,各個對象不是孤立存在的,只有將各種對象有機地組織結(jié)合起來,才能實現(xiàn)數(shù)據(jù)庫復雜的管理功能。在Access2002中,宏對象是組織整個數(shù)據(jù)庫系統(tǒng)的重要工具,宏可以由一連串的宏指令構(gòu)成,也可以是宏組。使用它可以在不編寫程序代碼的情況下,實現(xiàn)以往需要編寫復雜程序代碼才能實現(xiàn)的功能。7.模塊模塊是Access中最重要的實現(xiàn)數(shù)據(jù)庫復雜管理功能的有效工具。模塊基本上是由聲明、語句和過程組成的集合,它們是由VisualBasic編制的過程和函數(shù)組成。使用VisualBasic可以編制各種對象的屬性、方法,以實現(xiàn)細致的操作和復雜的控制功能。2.1.3Access2002的新功能
Access2002在原有版本的基礎上增加了許多新的功能。(1)支持Access2000版本的文件。在Access2002中可以直接使用和修改Access2000的文件,而不需進行文本格式的轉(zhuǎn)換。(2)加入了數(shù)據(jù)透視圖和數(shù)據(jù)透視表。通過數(shù)據(jù)透視圖和數(shù)據(jù)透視表,可以更快地進行數(shù)據(jù)分析,建立高級數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖,使管理者能直接看到精簡、濃縮的信息,利用它們方便快捷地進行數(shù)據(jù)分析;還可以將其存儲為數(shù)據(jù)頁面,用戶也可以瀏覽這些數(shù)據(jù);對于應用程序開發(fā)者而言,數(shù)據(jù)透視圖和數(shù)據(jù)透視表還提供了許多可以用的新對象,使編程變成一件很輕松的事情。(3)支持XML。XML(擴展標記語言)是近年來倍受關(guān)注的一種數(shù)據(jù)交換技術(shù),廣泛地應用于各類商務軟件應用程序中,成為網(wǎng)絡上進行商務文件數(shù)據(jù)交換的標準。Access2002可以通過XML標準來實現(xiàn)數(shù)據(jù)共享。通過熟悉的Access用戶界面,可以很輕松地從Jet和SQLServer結(jié)構(gòu)的數(shù)據(jù)中建立XML數(shù)據(jù)或綱要文件,并在Access的窗體、報表和頁中使用來自其他應用程序的XML數(shù)據(jù)。(4)支持MicrosoftSQLServer2000的擴展屬性。擴展屬性是原來SQLServer數(shù)據(jù)庫沒有而由Access額外提供的屬性。它會存儲在SQLServer表對象的“其他屬性”項目中,Access項目可擴展的屬性包括:
建立查閱字段。
顯示驗證文本。
定義輸入掩碼以便輸入數(shù)據(jù)格式化。
可使用子數(shù)據(jù)表。
支持數(shù)據(jù)的排序與篩選。
支持表、視圖、存儲程序與用戶定義函數(shù)的數(shù)據(jù)表外觀。這些擴展屬性使得從Access數(shù)據(jù)導入至Access項目中的過程變得更加簡單。(5)支持多次撤銷和重復。在MicrosoftAccess2002數(shù)據(jù)庫所有對象的“設計視圖”、Access項目的視圖、已存儲程序和函數(shù)中,都可以進行多次撤銷和重復操作。(6)Access項目中密碼安全性。在Access2002中,用戶可以直接更新Access項目的登錄密碼,或是直接改變SQLServer數(shù)據(jù)庫的登錄密碼。(7)連接數(shù)據(jù)庫向?qū)?。Access2002中的“連接數(shù)據(jù)庫向?qū)А笨梢灾笇в脩魧⒈碇苯渔溄拥絊QLServer數(shù)據(jù)庫中。(8)支持Access2002與SQLServer、MicrosoftExcel、Web等其他軟件的整合。BACK2.2Access2002的開發(fā)環(huán)境2.2.1Access2002的啟動和退出如果MicrosoftAccess2002已成功安裝,用戶可選擇“開始”→“程序”→“MicrosoftAccess”,然后單擊鼠標左鍵,如圖2-3所示,即可啟動MicrosoftAccess。打開Access之后,界面如圖2-4所示。在窗口右邊的任務窗格中有四大選項:(1)打開文件。在這個項目中可以選擇打開已經(jīng)建立的文件。(2)新建。在這個項目中可以選擇新建一個文件。(3)根據(jù)現(xiàn)有文件新建??梢愿鶕?jù)現(xiàn)有的文件作為新文件的基礎,建立一個新文件。(4)根據(jù)模板新建??梢愿鶕?jù)模板的類型建立新文件。Access自動在文件名稱的選項中默認文件名為db1、db2、db3等。圖2-3啟動Access圖2-4Access界面
選擇菜單中“文件”→“退出”選項或單擊窗口的“關(guān)閉”按鈕,即可退出Access環(huán)境。
2.2.2Access2002的主窗口
Access2002的主窗口由四部分組成:標題欄、菜單欄、菜單選項和常用工具欄,如圖2-5所示。圖2-5Access主窗口1.標題欄顯示當前數(shù)據(jù)庫的名稱。窗口的右上角有三個按鈕,分別是將“最小化”按鈕、“最大化”按鈕和“關(guān)閉”按鈕。2.菜單欄及菜單選項以動態(tài)選項的方式存放各種功能的命令。將鼠標移動到要選擇的菜單項下,單擊鼠標左鍵,彈出下拉菜單的相應選項,如圖2-6所示。單擊某一選項,即可實現(xiàn)相應的功能。圖2-6下拉菜單3.常用工具欄在常用工具欄中提供了許多常用的功能,每一個功能用一個圖標表示。將鼠標移動到一個圖標上暫停片刻,就會顯示該圖標代表的功能,如圖2-7所示。單擊該圖標即可實現(xiàn)相應的功能。圖2-7常用工具欄2.2.3Access2002數(shù)據(jù)庫窗口數(shù)據(jù)庫窗口對應一個數(shù)據(jù)庫文件。數(shù)據(jù)庫窗口中包含了數(shù)據(jù)庫中的七個對象和一個“收藏夾”群組按鈕,如圖2-8所示。若想隱藏數(shù)據(jù)庫的七個對象或群組,直接單擊所選對象或是群組就可以將其隱藏,如果想再顯現(xiàn),再次單擊該對象或群組即可。圖2-8Access數(shù)據(jù)庫窗口BACK2.3瀏覽Access20022.3.1瀏覽分析“羅斯文示例數(shù)據(jù)庫”在幫助菜單中,Access系統(tǒng)提供了一些示例數(shù)據(jù)庫。比如,“地址薄示例數(shù)據(jù)庫”、“聯(lián)系人示例數(shù)據(jù)庫”、“家庭財產(chǎn)示例數(shù)據(jù)庫”、“羅斯文示例數(shù)據(jù)庫”、“羅斯文示例Access項目”等。通過這些示例數(shù)據(jù)庫,可以對Access2002數(shù)據(jù)庫進行瀏覽。選擇“幫助”菜單中的“示例數(shù)據(jù)庫”選項,打開“羅斯文示例數(shù)據(jù)庫”,首先顯示“羅斯文示例數(shù)據(jù)庫”窗口,如圖2-9所示。圖2-9“羅斯文示例數(shù)據(jù)庫”窗口
在數(shù)據(jù)庫中包含七個表,用戶可以選擇每一個對象并單擊打開,進行瀏覽。將鼠標移動到常用工具欄“關(guān)系”按鈕上單擊鼠標左鍵,還可以瀏覽到數(shù)據(jù)庫中各個表之間的相互關(guān)系,并學習分析各個關(guān)系的建立,如圖2-10所示。圖2-10“羅斯文示例數(shù)據(jù)庫”中表與表之間的關(guān)系
如表中“供應商”表和“產(chǎn)品”表之間是“一對多”的關(guān)系,“訂單明細”表和“訂單”表之間是“多對一”的關(guān)系等。2.3.2分析Access數(shù)據(jù)庫結(jié)構(gòu)
Access數(shù)據(jù)庫由一個或多個表組成,否則為空數(shù)據(jù)庫;在數(shù)據(jù)庫中可以包含按照所設置的條件創(chuàng)建的查詢;可以有能進行相應的修改、瀏覽及查閱界面的窗體;有用來統(tǒng)計數(shù)據(jù)及制作簡報文件的報表;可以包括能通過互聯(lián)網(wǎng)的網(wǎng)頁進行直接瀏覽及數(shù)據(jù)處理的特殊網(wǎng)頁;并可在其中根據(jù)一定的需求組合宏命令,以解決重復性高的日常工作;對復雜或特定的需要,還可以使用模塊將許多程序代碼存儲成一個單位來協(xié)助完成工作等。BACK第3章創(chuàng)建Access數(shù)據(jù)庫3.1設計數(shù)據(jù)庫3.2創(chuàng)建數(shù)據(jù)庫
3.3數(shù)據(jù)庫對象的管理
3.4習題
3.1設計數(shù)據(jù)庫
在開始建立Access數(shù)據(jù)庫之前,必須先對數(shù)據(jù)庫中要存放的數(shù)據(jù)進行仔細認真的分析和設計。良好的數(shù)據(jù)庫設計可以使數(shù)據(jù)庫易于維護與管理。如果將相同主題的數(shù)據(jù)存儲到表中,當修改數(shù)據(jù)的內(nèi)容時,所做的改動會自動更新到整個數(shù)據(jù)庫中。設計良好的數(shù)據(jù)庫還可以進行高效率的查詢,以便顯示所需的信息。查詢會將不同的表中的數(shù)據(jù)進行組合。3.1.1數(shù)據(jù)庫的設計方法和步驟設計數(shù)據(jù)庫可以分為幾個步驟:1.確定其目的和使用方式(1)與使用數(shù)據(jù)庫的用戶進行交談,了解他們的需求。(2)草擬所需要的數(shù)據(jù)庫產(chǎn)生的報表。(3)收集目前用來記錄數(shù)據(jù)的單據(jù)或文件,可以幫助了解數(shù)據(jù)庫中應該有哪些內(nèi)容以及需要哪些功能。2.確定數(shù)據(jù)庫中所需要的字段參考的設計原則為:(1)必須包含所有需要的信息。(2)將信息存儲到最小的邏輯單位。(3)字段中不要包含多個項目。(4)如果是需要計算結(jié)果的數(shù)據(jù),盡量不要建立額外的字段存儲,它可以由計算結(jié)果得到。3.確定表中所需要的表每一個表應該只包含一個主題的相關(guān)信息。例如,如果有一個“出生日期”字段,它的主題是學生,那么它就屬于“學生”表。4.確定每一個字段所屬的表只將字段添加到一個表中,就是說同一個字段盡量不要出現(xiàn)在一個以上的表中,否則會造成數(shù)據(jù)更新時的不便。如果字段在表中的多個記錄中顯示相同的信息,就不要將該字段添加到表中,即表中字段值應該盡量避免重復。5.建立主關(guān)鍵字作為識別字段為了要MicrosoftAccess能連接存儲于不同表中的信息,數(shù)據(jù)庫中的每一個表必須包含一個字段或字段集即主鍵,這樣可以惟一地辨識表中的單個記錄。6.建立表的關(guān)系在數(shù)據(jù)庫中,將信息分類成表,并為每一個表定義好主關(guān)鍵字后,必須通過建立管理來將相關(guān)信息聯(lián)系在一起。3.1.2數(shù)據(jù)庫設計實例本書采用“學籍管理數(shù)據(jù)庫”系統(tǒng)為例進行介紹。
“學籍管理數(shù)據(jù)庫”系統(tǒng)是以學校的教務部門所使用管理系統(tǒng)為模式,包含有“學生信息表”、“學生成績表”和“學習課程表”等相關(guān)信息的實用數(shù)據(jù)庫系統(tǒng),該系統(tǒng)所含有三個表如圖3-1~圖3-3所示。圖3-1學生信息表圖3-2學生成績表圖3-3學習課程表BACK3.2創(chuàng)建數(shù)據(jù)庫MicrosoftAccess提供了兩種建立Access數(shù)據(jù)庫的方法。最簡單的方法是:使用數(shù)據(jù)庫向?qū)?,建立所選擇的數(shù)據(jù)庫類型中所需的表、窗體和報表。另外,也可以先建立一個空數(shù)據(jù)庫,然后再自行新建表、窗體、報表等數(shù)據(jù)庫對象,這是一種靈活的方法。3.2.1利用數(shù)據(jù)庫向?qū)?chuàng)建數(shù)據(jù)庫
Access提供了多種數(shù)據(jù)庫模板,可以利用模板來快速創(chuàng)建數(shù)據(jù)庫,如果向?qū)鶆?chuàng)建的數(shù)據(jù)庫內(nèi)容無法完全滿足要求,還可以隨時進入數(shù)據(jù)庫對象的設計視圖來進一步修改設定,有很大的靈活性?!纠?-1】利用向?qū)韯?chuàng)建“訂單入口”數(shù)據(jù)庫。(1)啟動Access2002,選擇“文件”菜單中的“新建”選項,或單擊工具欄上的新建圖標,便可打開新建文件窗口,如圖3-4所示。圖3-4新建Access界面(2)在“根據(jù)模板新建”部分用鼠標左鍵單擊“通用模板”選項,可以打開模板窗口,如圖3-5所示。在模板中選擇“數(shù)據(jù)庫”選項卡,并單擊選擇“訂單入口”。圖3-5“模板”窗口(3)然后單擊【確定】按鈕,出現(xiàn)“文件新建數(shù)據(jù)庫”窗口,如圖3-6所示。通過“保存位置”選擇文件保存路徑,并可在“文件名”處輸入文件名。圖3-6“文件新建數(shù)據(jù)庫”窗口(4)單擊【創(chuàng)建】按鈕啟動數(shù)據(jù)庫向?qū)В鐖D3-7所示,數(shù)據(jù)庫向?qū)峁┝丝梢越⒌谋?。圖3-7“數(shù)據(jù)庫向?qū)А睂υ捒蛞唬?)單擊【下一步】按鈕進入如圖3-8所示的窗口,在此可以選擇數(shù)據(jù)庫中所需要的表,確定表中的字段。圖3-8“數(shù)據(jù)庫向?qū)А睂υ捒蚨?)單擊【下一步】按鈕,進入如圖3-9所示的窗口,選擇確定屏幕的顯示樣式。圖3-9“數(shù)據(jù)庫向?qū)А睂υ捒蛉?)單擊【下一步】按鈕,進入如圖3-10所示的窗口,選擇確定打印報表的樣式。圖3-10“數(shù)據(jù)庫向?qū)А睂υ捒蛩模?)單擊【下一步】按鈕,進入如圖3-11所示的窗口,修改確定數(shù)據(jù)庫的標題,并可以選擇是否包含一幅圖片。圖3-11“數(shù)據(jù)庫向?qū)А睂υ捒蛭澹?)單擊【下一步】按鈕進入如圖3-12所示的窗口,至此,由向?qū)?chuàng)建數(shù)據(jù)庫所需全部信息已完成,并可選擇在數(shù)據(jù)庫創(chuàng)建完成后是否啟動該數(shù)據(jù)庫。圖3-12“數(shù)據(jù)庫向?qū)А睂υ捒蛄?0)單擊【完成】按鈕,開始創(chuàng)建數(shù)據(jù)庫對象,包括表、查詢、窗體和報表等。在創(chuàng)建的過程中,屏幕通過如圖3-13所示對話框顯示創(chuàng)建數(shù)據(jù)庫的過程。圖3-13“數(shù)據(jù)庫向?qū)А睂υ捒蚱撸?1)數(shù)據(jù)庫對象創(chuàng)建完成后,出現(xiàn)如圖3-14所示的信息框,Access自動產(chǎn)生的應用程序會先要求輸入公司信息,因為這些是該應用程序必備的基本數(shù)據(jù)。圖3-14數(shù)據(jù)庫信息框(12)單擊【確定】按鈕,這時進入如圖3-15所示的界面。在“我的公司信息”窗口中輸入數(shù)據(jù),然后直接關(guān)閉此窗體這些數(shù)據(jù)會自動保存在“我的公司信息”表中。圖3-15“我的公司信息”窗體(13)數(shù)據(jù)庫對象全部創(chuàng)建完成后,會執(zhí)行Access自動產(chǎn)生的應用程序,由許多窗體所組成,其主切換面板如圖3-16所示,在此可以通過各個按鈕進入各窗口。圖3-16“主切換面板”窗口(14)選擇“按客戶分類的訂單”窗體,進入如圖3-17所示操作界面。Access已經(jīng)建立了基本的操作功能,包括新增訂單,輸入付款數(shù)據(jù),預覽發(fā)票等。圖3-17“按客戶分類的訂單”窗口(15)在此輸入相關(guān)信息后,關(guān)閉窗體回到數(shù)據(jù)庫窗口,可以查看Access創(chuàng)建的所有數(shù)據(jù)庫對象,如圖3-18所示。在這里可以直接打開各數(shù)據(jù)庫對象,也可以通過選擇“設計”菜單進入表的設計視圖來進一步修改其內(nèi)容。圖3-18“訂單入口”數(shù)據(jù)庫窗口3.2.2創(chuàng)建空數(shù)據(jù)庫實例【例3-2】不利用向?qū)?chuàng)建一個空的“學籍管理數(shù)據(jù)庫”。(1)打開Access,選擇“新建”圖標,如圖3-4所示。在“新建文件”的“新建”窗格中選擇“空數(shù)據(jù)庫”,系統(tǒng)會彈出如圖3-6所示“文件新建數(shù)據(jù)庫”窗口,等待選擇輸入新數(shù)據(jù)庫的存放路徑和名稱。(2)選擇合適的路徑,并輸入數(shù)據(jù)庫文件名“學籍管理數(shù)據(jù)庫”,單擊【創(chuàng)建】按鈕,即建立了一個“學籍管理數(shù)據(jù)庫”的空數(shù)據(jù)庫。如圖3-19所示,在新建的空數(shù)據(jù)庫中沒有任何數(shù)據(jù)庫對象。圖3-19“學籍管理數(shù)據(jù)庫”窗口BACK3.3數(shù)據(jù)庫對象的管理3.3.1查看Access數(shù)據(jù)庫屬性通過數(shù)據(jù)庫屬性可以隨時了解Access數(shù)據(jù)庫的相關(guān)信息。打開數(shù)據(jù)庫文件,從“文件”菜單中選擇“數(shù)據(jù)庫屬性”,如圖3-20所示。圖3-20選擇“數(shù)據(jù)庫屬性”
選擇“常規(guī)”選項卡,可以看到該數(shù)據(jù)庫文件的相關(guān)信息,包括文件類型、位置和大小等,如圖3-21所示。圖3-21“常規(guī)”屬性
切換至“摘要”選項卡,如圖3-22所示,可以填入記錄的相關(guān)信息,方便文件的分類管理。
圖3-22“摘要”屬性
切換至“內(nèi)容”選項卡,其中記載了數(shù)據(jù)庫中所有的數(shù)據(jù)庫對象,如圖3-23所示。圖3-23“內(nèi)容”屬性3.3.2編輯數(shù)據(jù)庫對象組在默認的情況下,數(shù)據(jù)庫會根據(jù)對象類型來區(qū)分每個對象,如果想根據(jù)應用來進行區(qū)分,可以采用“組”功能將不同類型的數(shù)據(jù)庫對象組成一個組。【例3-3】在“訂單入口”數(shù)據(jù)庫中創(chuàng)建如圖3-24所示的對象組“訂單對象”。圖3-24對象組“訂單對象”
打開“訂單入口”數(shù)據(jù)庫,單擊【組】按鈕,并在其欄下任何地方單擊鼠標右鍵,彈出如圖3-25所示快捷菜單。圖3-25創(chuàng)建組快捷菜單
選擇其中的“新組”選項,系統(tǒng)彈出“新建組”對話框,如圖3-26所示。
在其中輸入組的名稱“教師信息”,單擊【確定】按鈕,數(shù)據(jù)庫中出現(xiàn)新建的組,如圖3-27所示。圖3-26“新建組”對話框圖3-27新建組成功
該組中還沒有任何對象,因此可以向其中加入對象。選擇需要加入到組中的數(shù)據(jù)庫對象“訂單”,按住鼠標左鍵將其拖動到【訂單對象】按鈕上,如圖3-28所示。圖3-28向組中加入對象
依此步驟可以加入所需要的所有數(shù)據(jù)庫對象,單擊【訂單對象】按鈕,如圖3-24所示,將相同用途的對象放到了同一個組中。BACK第4章建構(gòu)Access數(shù)據(jù)庫表4.1Access數(shù)據(jù)庫表的基本知識
4.2創(chuàng)建表
4.3表的編輯
4.4表的關(guān)鍵字和記錄
4.5建立表之間的關(guān)系
4.6數(shù)據(jù)庫表的應用實例
4.7習題4.1Access數(shù)據(jù)庫表的基本知識
表是Access數(shù)據(jù)庫中存儲數(shù)據(jù)的惟一數(shù)據(jù)庫對象,是最基本、最重要的對象,它是構(gòu)建數(shù)據(jù)庫的基礎。簡單地說,表就是“關(guān)于特定主題的數(shù)據(jù)集合”,將相同性質(zhì)的數(shù)據(jù)存儲在一起,以方便增減數(shù)據(jù)、查詢數(shù)據(jù)或者進行各種應用。表是由一條條記錄組成,記錄是由一個個字段構(gòu)成,因此表的設計就是要決定各個字段的名字和屬性等內(nèi)容。如圖3-1所示就是表格式的存儲結(jié)構(gòu)。表是構(gòu)成關(guān)系式數(shù)據(jù)庫的基礎。一旦表建立起來,就可以對其進行各種的數(shù)據(jù)操作與應用,包括:(1)存儲各種數(shù)據(jù)。(2)查詢并提取所需數(shù)據(jù)。(3)添加或更新數(shù)據(jù)。(4)制作報表并進行布局設置,分析或打印報表。(5)將數(shù)據(jù)作成網(wǎng)頁,供上網(wǎng)瀏覽等。4.1.1表的組成表的結(jié)構(gòu)中包括字段名稱、數(shù)據(jù)類型、字段屬性和字段說明等幾部分,圖4-1所示為表的設計視圖。圖4-1表的設計視圖1.字段字段的名稱必須能直接、清楚地反映信息內(nèi)容。一般字段名稱盡可能取具有代表性的名稱。如果字段名稱模糊不清或模棱兩可,就會導致數(shù)據(jù)庫的不確定性。Access2002對字段的命名有以下規(guī)定(也適用于控件和對象的命名):(1)長度不能超過64個西文字符(或32個漢字)。(2)不能包含句號“?!?、感嘆號“!”、重音符號“`”和方括號“[]”,可以包含字母、數(shù)字、空格及其他特殊的字符的任意組合。(3)不能以空格開頭。(4)不能包含控制字符(從0~31的ASCII值)。(5)最好確保字段名稱和Access中已有的屬性和其他元素的名稱不相同。2.字段的數(shù)據(jù)類型合適的數(shù)據(jù)類型能夠反映字段所表示的信息選擇。如果數(shù)據(jù)類型選取的不合適,會使數(shù)據(jù)庫效率降低,并且容易引起錯誤。Access2002可使用的數(shù)據(jù)類型、適用范圍和所需存儲空間見表4-1。數(shù)據(jù)類型適用范圍所需存儲空間備注文本(Text)
文本或文本與數(shù)字的組合,或不需計算的數(shù)字
最多為255個字符
例如:地址,電話號碼備注(Memo)
長文本或文本與數(shù)字的組合
最多為65,536個字符
例如:注釋,說明數(shù)字(Number)
用來進行算術(shù)計算的數(shù)值數(shù)據(jù)1、2、4或8字節(jié)
涉及貨幣的值除外日期/時間(Data/Time)
日期或時間8字節(jié)
例如:2002年5月27日貨幣(Currency)
貨幣值8字節(jié)
精確到小數(shù)點左邊15位,小數(shù)點右邊4位。計算時禁止四舍五入自動編號(AutoNumber)
添加記錄時,Access自動指定的惟一順序號(每次遞增1)或隨機數(shù)4字節(jié)
此類型字段不能更新是/否(Yes/No)
只可能是兩個值中的一個1位
例如:是/否,真/假,開/關(guān)OLE對象(OLEObject)
用于使用OLE協(xié)議在其他程序中創(chuàng)建的OLE對象
最大為1G字節(jié)
例如:Word文檔超級鏈接(Hyperlink)
用于超級鏈接
最多為64,000個字符UNC路徑或URL查閱向?qū)В↙ookupWizard)
用于創(chuàng)建這樣的字段,它允許用戶使用組合框選擇來自其他表或來自值列表的值
與對應于查閱字段的主鍵大小相同的存儲空間。一般為4字節(jié)
在數(shù)據(jù)類型列表中選擇此選項,將會啟動向?qū)нM行定義。嚴格地說不是一種數(shù)據(jù)類型表4-1字段的數(shù)據(jù)類型3.字段的屬性字段的屬性是指字段的大小、外觀和其他的一些能夠說明字段所表示的信息和數(shù)據(jù)類型的描述。
Access為大多數(shù)屬性提供了默認設置,一般能夠滿足用戶的需要。用戶也可以改變默認設置或自行設置。常用的簡單屬性有如下幾種:(1)字段大小??捎捎脩粼O置此屬性的數(shù)據(jù)類型有:文本型、數(shù)字型和自動編號型。文本型的字段大小屬性可設置為1~255之間的任何整數(shù),從而決定文本字段最多可存儲的字符數(shù)。其默認值為50。數(shù)字型字段大小屬性的可選項有:字節(jié)、整型、長整型、單精度型、雙精度型、同步復制ID和小數(shù),各選項所表示的數(shù)據(jù)范圍及所占用的存儲空間都不相同。其默認值為長整型。自動編號型字段大小屬性可選擇長整型和同步復制型,其默認值為長整型。(2)索引。具有此屬性的數(shù)據(jù)類型有:文本型、數(shù)字型、貨幣型、日期/時間型。索引屬性可有三個取值:無索引、有索引(有重復)和有索引(無重復)。如果某字段被設置為有索引屬性,那么在顯示表或查詢時,將按照索引順序排列記錄。如果索引為“有(無重復)”,那么Access將不允許在兩個記錄中輸入相同的該字段值。如果某字段被設置為“無索引”,則不對記錄進行排序。(3)格式。除了OLE對象外,可為任何數(shù)據(jù)類型的字段設置格式。使用格式屬性可規(guī)定字段的數(shù)據(jù)顯示格式。Access為自動編號、數(shù)字、貨幣、日期/時間等提供了預定義格式,用戶可從列表中選擇。(4)小數(shù)位數(shù)。此屬性要在設置格式屬性之后定義才能生效。它提供了自動和1~15位的選項。其默認值為自動,此時格式屬性為“貨幣”、“整型”、“標準”、“百分比”和“科學記數(shù)法”的字段,將顯示2位小數(shù)。注意,此屬性只影響顯示的小數(shù)位數(shù),而不影響保存的小數(shù)位數(shù)。(若需更改保存的小數(shù)位數(shù),必須重新設置字段大小屬性)(5)默認值。使用此屬性可以指定在添加新記錄時自動輸入的值。如果表中記錄的某字段值大部分相同,即可為該字段設置一個默認值,可大大簡化輸入。添加新記錄時可接受默認值,也可鍵入新值覆蓋它。(6)字段有效性規(guī)則。字段有效性規(guī)則用來控制數(shù)據(jù)輸入的正確性和有效性。一旦輸入字段的數(shù)據(jù)違反了有效性規(guī)則,Access將顯示一個信息告訴用戶哪些是允許的輸入項目。大多數(shù)情況下,最好在表的設計視圖中“有效性規(guī)則”中設置字段的屬性,并定義數(shù)據(jù)驗證和限制。4.字段的說明字段說明是指對每個字段一般有一個簡短的說明性文字,用來說明這個字段所表示的具體信息,以及設計字段時的注釋。此說明會在向該字段添加數(shù)據(jù)時出現(xiàn)在狀態(tài)欄中。(此項設置可選)4.1.2表的視圖視圖是Access數(shù)據(jù)庫對象的外觀表現(xiàn)形式,不同的視圖具有不同的功能和作用范圍。表有四種視圖,即設計視圖、數(shù)據(jù)表視圖、數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖。1.設計視圖表的設計視圖用于設計表的結(jié)構(gòu)。在表的設計視圖中,既可以新創(chuàng)建整個表,也可以添加、刪除或自定義已有表中的字段。2.數(shù)據(jù)表視圖表的數(shù)據(jù)表視圖以行列格式顯示表,用于處理數(shù)據(jù)。在數(shù)據(jù)表視圖中,可以添加、刪除和修改數(shù)據(jù)。
表的設計視圖和表的數(shù)據(jù)表視圖可以通過在Access2002工具欄中的如圖4-2所示“視圖”切換按鈕,或Access2002中“視圖”中的選項來相互轉(zhuǎn)換。3.數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖是用所選格式和計算方法,匯總大量數(shù)據(jù)的表或圖,其作用是以另一種格式查看數(shù)據(jù)。一般多用在查詢或窗體中。圖4-2“視圖”切換按鈕BACK4.2創(chuàng)建表Access提供了多種建立表的方法,有通過表向?qū)?、通過輸入數(shù)據(jù)創(chuàng)建表、表設計視圖、導入和鏈接表等。4.2.1在設計視圖中創(chuàng)建表表的設計視圖是一個功能強大的工具,它是惟一可用來對表的結(jié)構(gòu)進行修改的工具,利用它不僅可以修改表的結(jié)構(gòu),還可以自行設計表?!纠?-1】用“設計器”為“學籍管理數(shù)據(jù)庫”創(chuàng)建一個如圖4-3所示的“學習課程表”。圖4-3“學習課程表”的數(shù)據(jù)表視圖(1)打開第3章中創(chuàng)建的“學籍管理數(shù)據(jù)庫”,如圖3-2所示。(2)在對象欄中單擊“表”,雙擊“使用設計器創(chuàng)建表”,即彈出表設計視圖,如圖4-1所示。
也可以單擊工具欄中“新建”按鈕,如圖4-4所示。在“新建表”對話框中選取“設計視圖”列表項,然后單擊【確定】按鈕,屏幕上也會彈出表的設計視圖。圖4-4新建表對話框3)定義字段。在“字段名稱”列中輸入字段名,如“課程編號”(字段名要符合Access2000有關(guān)字段名的規(guī)定)。單擊“數(shù)據(jù)類型”右邊的按鈕,顯示出所有數(shù)據(jù)類型的列表框,在其中選取一種合適的數(shù)據(jù)類型,如“自動編號”。在“說明”列中輸入有關(guān)該字段的說明。此說明文字會在向該字段添加數(shù)據(jù)時顯示在狀態(tài)欄中。如“系統(tǒng)給定,用戶不能更新”。(此步驟可選。)根據(jù)實際需要,在窗口下半部的“字段屬性”區(qū)域中,分別對各個字段的屬性進行設置。例如,對“課程編號”的“字段屬性”進行設置,“字段大小”為“長整型”,“新值”為“遞增”,“索引”為“無”。
重復上述方法定義“學習課程表”中的其他字段:課程名稱、學時數(shù)、使用教材、作者、出版社、出版時間等,并確定各個字段的說明、數(shù)據(jù)類型及屬性。創(chuàng)建一個完整的表結(jié)構(gòu),如圖4-5所示。圖4-5表結(jié)構(gòu)(4)保存表。單擊工具欄中的“保存”按鈕,系統(tǒng)將彈出如圖4-6所示“另存為”對話框。在對話框的編輯欄中輸入表的名稱“學習課程表”。圖4-6“另存為”對話框
然后單擊【確定】按鈕。如果在保存表之前為未定義主關(guān)鍵字字段,系統(tǒng)將彈出一個如圖4-7所示“尚未定義主鍵”的警告對話框。單擊【是】按鈕,系統(tǒng)將第一個字段創(chuàng)建為主關(guān)鍵字,他的數(shù)據(jù)類型為“自動編號”。圖4-7“尚未定義主鍵”警告對話框
至此,“學習課程表”的結(jié)構(gòu)就由設計器設計好了。由表設計視圖圖4-1可看出,它分為上下兩個部分。上半部分是此表中的所有字段的名稱以及它們相應的數(shù)據(jù)類型:下半部分是各個字段數(shù)據(jù)類型的屬性。用戶可以通過設置不同的屬性值,使當前的數(shù)據(jù)類型能更好地適應字段信息的要求。主鍵定義后,在圖中的“課程編號”字段單元格的左邊有一個鑰匙形狀的圖標,它表示該字段是此表的關(guān)鍵字。用鼠標單擊表中各個字段名稱單元格,會看到被單擊到的單元格左邊會出現(xiàn)小的三角標志,表明它是當前所選的字段。表的設計視圖詳細地顯示了有關(guān)表設計的所有信息。通過它,可以清楚地看到表是由哪些字段組成的,其中包括它們的名字、順序、屬性、說明以及與之相對應的數(shù)據(jù)類型的各種信息。4.2.2利用向?qū)?chuàng)建表
Access2002還提供了表向?qū)?,利用向?qū)Р粌H可以快速、簡潔地創(chuàng)建表,不用事先對表進行設計,而且能夠幫助初學者掌握表的設計過程?!纠?-2】使用表向?qū)?chuàng)建一個學生信息表,如圖4-8所示。圖4-8“學生信息表”的數(shù)據(jù)表視圖(1)啟動表向?qū)?。打開數(shù)據(jù)庫。在對象欄中單擊“表”,然后雙擊“使用向?qū)?chuàng)建表”,即可啟動表向?qū)?。或者單擊工具欄中“新建”按鈕,在如圖4-5所示“新建表”對話框中選取“表向?qū)А绷斜眄?,然后單擊【確定】按鈕,彈出“表向?qū)А睂υ捒?,如圖4-9所示。圖4-10“重命名字段”對話框圖4-9“表向?qū)А睂υ捒蛞?/p>
(2)選擇字段。在上圖中,選擇“商務”,然后在“示例表”列表框中選擇一個表——“學生”表,接著雙擊“示例字段”中的字段,將“學生ID”、“名字”、“地址”、“郵政編碼”、“電話號碼”、“電子郵件帳戶名”、“主修”、“學號”、“附注”等列表項作為新建表的字段,向?qū)ё詣訉⑵涮砑拥健靶卤碇械淖侄巍绷斜砜蛑?。(單擊按鈕,將選中字段添加到“新表中的字段”列表框中;單擊按鈕,刪除已添加到新表中的選中字段;單擊可把“示例字段”中的所有字段都添加到新建表中;單擊則刪除已添加到新表中的所有字段。)(3)修改字段名稱(可選項)。對上述所建新表,若要修改表中字段的名稱,可在“新表中的字段”列表框中選中需修改的字段,如選擇“名字”字段,然后單擊【重命名字段】按鈕,彈出“重命名字段”對話框,如圖4-10所示。輸入新的字段名稱“姓名”,單擊【確定】按鈕。如需修改多個字段名,可重復此過程。圖4-10“重命名字段”對話框(4)指定表的名稱、設置主鍵。單擊圖4-9中的【下一步】按鈕,打開“表向?qū)А睂υ捒蚨?,如圖4-11所示。在“請指定表的名稱”文本框中輸入新建表的名稱——“學生信息表”。在“請確定是否用向?qū)гO置主鍵:”單選框中,確定設置主鍵的方法。選擇“是,幫我設置一個主鍵”,然后單擊【下一步】按鈕,則進入第5步。圖4-11“表向?qū)А睂υ捒蚨?/p>
若選擇“不,讓我自己設置主鍵”,然后單擊【下一步】按鈕,彈出如圖4-12所示的“表向?qū)А睂υ捒蛉T凇罢埓_定哪個字段將擁有對每個記錄都是唯一的數(shù)據(jù):”的下拉列表中選擇字段作為主關(guān)鍵字字段——“學生ID”。然后,指定其數(shù)據(jù)類型,如“讓MicrosoftAccess自動為新記錄指定連續(xù)數(shù)字”,即自動編號類型。圖4-12“表向?qū)А睂υ捒蛉?)確定下一步工作。單擊【下一步】按鈕。系統(tǒng)彈出如圖4-13所示“表向?qū)А睂υ捒蛩?,確定此表是否與數(shù)據(jù)庫中其他的表相關(guān)。圖4-13“表向?qū)А睂υ捒蛩模?)最后單擊【下一步】按鈕,系統(tǒng)彈出如圖4-14所示“表向?qū)А睂υ捒蛩?,選擇利用向?qū)?chuàng)建完表之后的工作,如“直接向表中輸入數(shù)據(jù)”,然后單擊【完成】按鈕。圖4-14“表向?qū)А睂υ捒蛩模?)輸入數(shù)據(jù)。新建表完成之后,將在數(shù)據(jù)表視圖中打開,如圖4-15所示。在如圖4-15所示的數(shù)據(jù)表視圖中,可以直接輸入字段值。輸入完一個字段后,按回車鍵確認,并跳到下一個字段。(注意:自動編號類型的字段值,由系統(tǒng)給出,用戶不能輸入。)圖4-15“學生信息表”數(shù)據(jù)表視圖
輸入完一條記錄的最后一個字段后,按回車鍵,系統(tǒng)會自動保存本條記錄,并定位到下一條記錄的第一個字段。也可單擊工具欄中的“保存”按鈕,保存記錄。切換回數(shù)據(jù)庫窗口,可查看“學生信息表”已創(chuàng)建成功。4.2.3通過輸入數(shù)據(jù)創(chuàng)建表通過“輸入數(shù)據(jù)創(chuàng)建表”的方法可一次性完成表的創(chuàng)建和數(shù)據(jù)的輸入,適合把記錄在紙上的數(shù)據(jù)直接建成數(shù)據(jù)庫的形式?!纠?-3】用“輸入數(shù)據(jù)創(chuàng)建表”的方法來創(chuàng)建完成在學籍管理數(shù)據(jù)庫中如圖4-16所示的“學生成績表”。圖4-16“學生成績表”的數(shù)據(jù)表視圖(1)打開數(shù)據(jù)表視圖。打開“學籍管理數(shù)據(jù)庫”窗口,雙擊圖4-5列表框中“通過輸入數(shù)據(jù)創(chuàng)建表”列表項,屏幕上彈出如圖4-17所示的數(shù)據(jù)表視圖。
圖4-17空表的數(shù)據(jù)表視圖(2)命名字段。雙擊視圖中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體外診斷試劑行業(yè)相關(guān)項目經(jīng)營管理報告
- 建筑用金件的檢測行業(yè)經(jīng)營分析報告
- 辦理登機手續(xù)服務行業(yè)市場調(diào)研分析報告
- 蘇格蘭式短裙商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 創(chuàng)意寫作行業(yè)經(jīng)營分析報告
- 電力轉(zhuǎn)換器項目運營指導方案
- 失禁用墊產(chǎn)品供應鏈分析
- 箬笠商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 信用證發(fā)行行業(yè)經(jīng)營分析報告
- 被動紅外探測器項目運營指導方案
- 《慢性肺源性心臟病》PPT課件(完整版)
- 電力承裝修資質(zhì)及承包范圍
- 容積升校準記錄表1份
- 清洗原理及CIP
- 醫(yī)院給排水設計及施工要點分享
- QJ44型直流雙臂電橋使用說明書
- 帷幕灌漿孔原始記錄表
- 新課程背景下初中語文教學的轉(zhuǎn)變與創(chuàng)新
- 咖啡種植標準化規(guī)程
- 上海大眾汽車商務禮儀培訓PPT課件
評論
0/150
提交評論