商品簡介
本書主要內容包括Access資料庫基礎,資料庫和表,查詢和SQL語言,表單設計,報表設計,巨集設計,VBA應用、資料庫安全及管理、資料交換等知識。本書實例豐富,概念清晰,圖文並茂,直觀生動,重點突出。從易學性和實用性出發,將抽象的資料庫原理有機地融入Access的具體操作,應用案例和Access的相關功能緊密結合,通過任務驅動的方式,循序漸進地講述了Access關係型數據庫系統的特點和資料庫應用開發技術。
序
隨著信息技術和社會信息化的發展,以數據庫系統為核心的辦公自動化系統、管理信息系統、決策支持系統等得到了廣泛應用,數據庫技術已成為計算機應用的一個重要方面。數據庫原理及應用已是高等學校非計算機專業,尤其是經管類專業的一門重要公共課程。隨著計算機科學技術的快速發展,高校學生計算機知識起點的不斷提高,大學計算機基礎課程教學改革的不斷深入,以及教育部高等學校計算機教學指導委員會提出了以計算思維培養為導向的大學計算機課程改革,基於這樣的背景,我們結合普通高等學校非計算機專業學生的特點,以應用為目的、案例為引導、任務為驅動編寫了本書。本書將計算思維能力的培養融於案例與實驗教學中,全面講述了關係數據庫系統的特點及應用開發技術,旨在提高學生的數據庫操作能力和應用能力。
本書以Access2010為應用環境,介紹數據庫原理及應用的基本理論和基本方法。全書共9章,各章內容如下。
第1章介紹數據庫技術的發展、數據庫的基本概念、關係數據模型、數據庫體系結構、數據庫設計基礎等內容。
第2章對數據庫設計理論與方法、Access功能與界面、數據庫構成等內容進行介紹,使讀者對管理信息系統開發及Access有大體的了解。
第3章~第7章對創建Access數據庫、表、查詢、窗體、報表、宏和VBA菜單等內容進行重點介紹,這些內容也是Access的基本功能。
第8章介紹數據庫安全與管理等方面的內容。
第9章以羅斯文系統為例,重點介紹VBA數據庫編程方面的知識。
為了便於實驗教學和學生學習,同時編寫了與本書配套的實驗指導書。
本書由李春宏、余建坤和沈俊媛主編,其中第1章由余建坤編寫,第2章由陳振興編寫,第3章由沈俊媛編寫,第4章由陶冶編寫,第5章由周榮華編寫,第6章由尹傳娟編寫,第7章由譚瑛編寫,第8章由李春宏編寫,第9章由馮濤編寫。全書由李春宏、余建坤和沈俊媛統稿和定稿。
本書的編寫得到了雲南財經大學信息學院張新明教授的大力支持和其他老師的熱心幫助,在此表示衷心的感謝!
由於時間緊迫,編者水平有限,書中難免有不足之處,懇請廣大讀者批評指正。
目次
第1章 概論 1
1.1 數據管理的發展 1
1.2 數據庫系統 5
1.3 數據與數據模型 7
1.4 關係數據模型 12
1.5 數據庫系統結構 15
1.6 建立關係數據庫 17
本章小結 21
習題 21
第2章 數據庫設計與Access功能瀏覽 23
2.1 數據庫設計理論與方法 23
2.2 Access開發環境 27
2.3 應用案例——羅斯文數據庫 32
本章小結 35
習題 35
第3章 數據庫和表 36
3.1 創建數據庫 36
3.2 數據庫的打開與關閉 39
3.3 創建表 44
3.4 數據的導入與導出 55
3.5 字段的常用屬性設置 72
3.6 關係的創建及應用 77
3.7 常用表數據操作 82
本章小結 87
習題 87
第4章 查詢設計和SQL 88
4.1 查詢的概念 88
4.2 用查詢嚮導創建查詢 89
4.3 用設計視圖創建和修改查詢 97
4.4 使用查詢進行統計計算 109
4.5 操作查詢 110
4.6 參數查詢 114
4.7 SQL查詢 114
本章小結 118
習題 118
第5章 窗體設計 119
5.1 窗體概述 119
5.2 使用窗體工具和嚮導創建窗體 126
5.3 使用設計視圖創建窗體 130
5.4 創建主/子窗體 149
5.5 創建導航窗體 152
5.6 創建圖表類窗體 154
本章小結 156
習題 157
第6章 報表設計 158
6.1 報表概述 158
6.2 報表的創建 162
6.3 報表的修改和美化 171
6.4 報表的打印 179
本章小結 180
習題 180
第7章 宏與VBA 181
7.1 宏的基本概念 181
7.2 宏的基本操作 181
7.3 VBA簡介 187
7.4 VBA語法基礎 188
本章小結 200
習題 200
第8章 Access數據庫安全與管理 201
8.1 數據庫安全措施 201
8.2 設置數據庫密碼 201
8.3 用戶級安全機制 202
8.4 數據庫編/解碼 206
8.5 生成ACCDE文件 207
8.6 數據存儲安全 207
8.7 數據庫拆分 207
8.8 優化數據庫性能 208
8.9 複製與同步數據庫 208
8.10 數據庫升遷 208
本章小結 211
習題 211
第9章 羅斯文系統 212
9.1 系統簡介 212
9.2 創建“羅斯文”數據庫 212
9.3 系統功能概覽 213
9.4 VBA數據庫編程 219
本章小節 221
習題 221
參考文獻 222
書摘/試閱
第1章 概 論
數據庫技術是計算機應用領域最重要且應用極為廣泛的技術之一,是軟件學科的一個獨立分支。本章介紹數據管理的發展過程及數據庫技術所涉及的基本概念,包括數據庫、數據模型、數據庫系統的體系結構、關係數據庫的基本理論等,最後給出建立關係數據庫的方法及實例,使讀者通過本章的學習對數據庫技術有全面的了解。
數據庫技術是信息社會中信息資源管理與利用的基礎,是計算機軟件學科的一個重要分支,是研究如何存儲、使用和管理數據的一門學科。隨著計算機應用的發展,數據庫應用領域已從數據處理、信息管理、事務處理擴大到計算機輔助設計、人工智能、辦公信息系統和網絡應用等新的應用領域。
經過40多年的發展,數據庫技術已形成完整的理論體系和一大批實用系統。關係運算理論和模式設計理論不斷完善,數據庫管理系統軟件日益豐富,為數據庫的應用與開發奠定了基礎。
1.1 數據管理的發展
數據管理是對數據的組織、分類、編碼、存儲、檢索和維護。與任何其他技術的發展一樣,計算機數據管理也經歷了由低級到高級的發展過程。計算機數據管理隨著計算機硬件(主要是外存儲器)、軟件技術和計算機應用範圍的發展而不斷發展,多年來大致經歷了五個階段:人工管理階段、文件系統階段、數據庫系統階段、分佈式數據庫系統階段、數據倉庫與數據挖掘階段。
1.1.1 人工管理階段
20世紀50年代中期以前,計算機主要用於科學計算。當時在硬件方面,外存儲器只有卡片、紙帶、磁帶,沒有像磁盤這樣可以隨機訪問、直接存取的外部存儲設備;軟件方面,沒有專門管理數據的軟件,數據由計算或處理它的程序自行攜帶,數據處理方式基本是批處理,這種方式使得程序依賴於數據,如果數據的類型、格式或者數據量、存取方法、輸入/輸出方式等改變了,那麼程序必須作相應的修改,數據與程序不具有獨立性;由於數據是面向應用程序的,程序運行結束後就退出計算機系統,在一個程序中定義的數據佔用的空間隨程序空間一起被釋放,一個程序中的數據無法被其他程序利用,因此程序與程序之間存在大量的重複數據。另外,由於系統中沒有對數據進行管理的軟件,對數據管理的任務,包括存儲結構、存取方法、輸入/輸出方式等完全由程序設計人員自負其責,這就給應用程序設計人員增加了很大的負擔。
1.1.2 文件系統階段
20世紀50年代後期到60年代中後期,計算機開始廣泛用於管理中的數據處理工作,大量的數據存儲、檢索和維護成為緊迫需求。在硬件方面,可直接存取的磁鼓、磁盤成為聯機的主要外存;在軟件方面,出現了高級語言和操作系統,操作系統中的文件系統(有的也稱為信息處理模塊)是專門管理外存的數據管理軟件,數據處理方式有批處理,也有聯機實時處理。
在這一階段,程序與數據有了一定的獨立性,程序和數據分開存儲,有了程序文件和數據文件的區別。數據文件可以長期保存在外存儲器上多次存取,如進行查詢、修改、插入、刪除等操作。數據的存取以記錄為基本單位,並出現了多種文件組織形式,如順序文件、索引文件、隨機文件等。
在文件系統的支持下,數據的邏輯結構與物理結構可以有一定的差別,邏輯結構與物理結構之間的轉換由文件系統的存取方法來實現。數據與程序之間具有設備獨立性,程序只需通過文件名訪問數據,不必關心數據的物理位置。這樣,程序員可以將精力集中在數據處理的算法上,而不必考慮數據存儲的具體細節(圖1-1)。
圖1-1 文件管理中數據與程序的關係
文件系統階段對數據的管理雖然有了長足的進步,但一些根本性問題仍然沒有得到徹底解決,主要表現在以下三方面。
(1)數據冗餘度大。數據冗餘是指不必要的重複存儲,同一數據項重複出現在多個文件中。在文件系統中,數據文件基本與各自應用程序相對應,數據不能以記錄和數據項為單位共享。即使有部分數據相同,只要邏輯結構不同,用戶就必須各自建立文件,這不僅浪費存儲空間,增加更新開銷,更嚴重的是,由於不能統一修改,容易造成數據不一致。
(2)數據無法集中管理。除了對記錄的存取由文件系統承擔以外,文件沒有統一的管理機制,其安全性與完整性無法保障。數據的維護任務仍然由應用程序來承擔。
(3)文件是無彈性、無結構的數據集合。所謂無彈性,是指由於記錄的內部結構是由應用程序自己定義,而不是由系統來統一管理的,所以對現有數據文件的應用不易擴充、不易移植,也難以增刪數據項來適應新的應用要求;無結構是指各個數據文件之間是獨立的,缺乏聯繫,不能反映現實世界事物之間的聯繫。
這些問題阻礙了數據處理技術的發展,滿足不了日益增長的信息處理的需求,這正是數據庫技術產生的源動力,也是數據庫系統產生的背景,應用需求和計算機技術的發展促使人們開始研究一種新的數據管理技術——數據庫技術。
1.1.3 數據庫系統階段
從20世紀60年代後期開始,計算機應用於管理的規模更加龐大,需要計算機管理的數據量急劇增長,並且對數據共享的需求日益增強,大容量磁盤(數百兆字節以上)系統的採用,使計算機聯機存取大量數據成為可能;軟件價格上升,硬件價格相對下降,使獨立開發系統維護軟件的成本增加,文件系統的數據管理方法已無法適應開發應用系統的需要。為解決數據獨立性問題,實現數據的統一管理,達到數據共享的目的,發展了數據庫技術。
數據庫(database)是通用化的相關數據集合,它不僅包括數據本身,而且包括相關數據之間的聯繫。數據庫中的數據是面向多種應用的,可以被多個用戶、多個應用程序共享。例如,某學校的數據庫存儲了教工信息、學生信息、課程信息等,這些數據可以被人事系統、學籍管理系統等多個應用程序共享。其數據結構獨立於使用數據的程序,對於數據的添加、刪除、修改和檢索由數據庫管理系統統一控制,而且數據模型也有利於將來應用的擴展。
為了讓多種應用程序並發地使用數據庫中具有最小冗餘度的共享數據,必須使數據與程序具有較高的獨立性。這就需要一個軟件系統對數據實行專門管理,提供安全性和完整性等統一控制機制,方便用戶以交互命令或程序方式對數據庫進行操作。
為數據庫的建立、使用和維護而配置的軟件稱為數據庫管理系統(database management system,DBMS),它是在操作系統支持下運行的。目前較流行的數據庫管理系統包括Oracle、Informix、Sybase、DB2等大型數據庫管理系統和在微機上應用較廣泛的數據庫管理系統Access 2010、Visual FoxPro 6.0、SQL Server 2008等。
現在,數據庫已成為各類信息系統的核心。在數據庫管理系統的支持下,數據與程序的關係如圖1-2所示。
圖1-2 數據庫管理中數據與程序的關係
數據庫系統的主要特點如下。
(1)實現數據共享,減少數據冗餘。在數據庫管理系統中,對數據的定義和描述已經從應用程序中分離開來,通過數據庫管理系統來統一管理。數據的最小訪問單位是數據項,既可以按數據項的名稱存取數據庫中某一個或某一組數據項,也可以存取一條記錄或一組記錄。
建立數據庫時,應當以面向全局的觀點組織庫中的數據,而不能像文件系統那樣僅考慮某一部門的局部應用,這樣才能發揮數據共享的優勢。
(2)採用特定的數據模型。整個組織的數據不是一盤散沙,必須表示出數據之間所存在的有機關聯,才能反映現實世界事物之間的聯繫。也就是說,數據庫中的數據是有結構的,這種結構由數據模型表示,如關係數據模型。
(3)具有較高的數據獨立性。在數據庫管理系統中,DBMS提供映像功能,確保應用程序對數據結構和存取方法有較高的獨立性。數據的物理存儲結構與用戶看到的邏輯結構可以有很大差別,用戶只以簡單的邏輯結構來操作數據,而不需要考慮數據在存儲器上的物理位置與結構。
(4)有統一的數據控制功能。數據庫作為多個用戶和應用程序的共享資源,對數據的存取往往是並發使用,即多個用戶同時使用同一個數據庫。數據庫管理系統必須提供並發控制功能、數據的安全性控制功能和數據的完整性控制功能。
1.1.4 分佈式數據庫系統階段
在20世紀70年代後期之前,數據庫系統多數是集中式的,分佈式數據庫系統是數據庫技術和網絡技術相結合的產物,在20世紀80年代中期已有商品化產品問世。分佈式數據庫是一個邏輯上統一、地域上分佈的數據集合,是計算機網絡環境中各個節點局部數據庫的邏輯集合,同時受分佈式數據庫管理系統的控制和管理,如圖1-3所示。
分佈式數據庫在邏輯上像一個集中式數據庫系統,實際上數據存儲在處於計算機網絡的不同地點的各個節點上。每個節點都有自己的局部數據庫管理系統,它有很高的獨立性。用戶可以由分佈式數據庫管理系統(網絡數據庫管理系統),通過網絡通信相互傳輸數據。分佈式數據庫管理系統具有高度透明性,每台計算機上的用戶並不需要了解他所訪問的數據究竟在什麼地方,就像在使用集中式數據庫一樣。分佈式數據庫管理系統的主要優點如下。
(1)局部自主。網絡上每個節點的數據庫系統都具有獨立處理本地大量事務的能力,而且各局部節點之間也能夠互相訪問、有效地配合處理更複雜的事務。
(2)可靠性和可用性。分佈式系統比集中式系統有更高的可靠性,在個別節點或個別通信鏈路發生故障的情況下可以繼續工作。一個局部系統發生故障不至於導致整個系統停頓或破壞,只要有一個節點上的數據備份可用,數據就是可用的。可見,支持一定程度的數據冗餘是充分發揮分佈式數據庫系統優點的先決條件之一。
(3)效率和靈活性。分佈式系統分散了工作負荷,緩解了單機容量的壓力。數據可以存儲在臨近的常用節點,如果本節點的數據子集包含要查詢的全部內容,顯然比集中式數據庫在全集上查找節省時間。
1.1.5 數據倉庫與數據挖掘階段
隨著數據庫應用技術的日趨成熟,大量管理信息系統在企事業單位得到了廣泛應用,人們積累了大量的數據資料,但數據庫中隱藏的豐富的知識遠遠沒有得到充分的發掘和利用。 Internet的日益普及,使每個網絡用戶都可以藉助先進的通信手段,獲取信息或發布信息,促進了信息的倍增,信息量呈幾何放大式增長,在這樣大量的信息環境中,如何提取有用信息,拋卻冗餘信息,已成為信息管理者日益關注的問題。在知識是全世界主要財富的今天,僅依靠數據庫管理系統的查詢檢索機制和統計學方法已經遠遠不能滿足需求,迫切需要一種自動和智能地將待處理的數據轉化為有用信息和知識的技術,數據倉庫與數據挖掘就是為迎合這種要求而被提出並迅速發展的。
數據挖掘是從大量數據中挖掘隱含的、未知的、對決策有潛在價值的知識和規則,這些規則蘊涵了數據庫中一組對象之間的特定關係,為經營決策、市場策劃、政策法規制定等提供依據。數據倉庫技術是面向主題的、集成的、穩定的、不同時間的數據集合,用以支持經營管理中的決策制定過程,為支持海量存儲和決策分析提供了一種很好的解決方案。
從20世紀80年代後期到現在,數據倉庫和OLAP技術、數據挖掘和知識發現已成為數據庫技術的重要研究對象,引起了學術界和工業界的廣泛關注,在數據庫產品Oracle、SQL Server 2005等大型數據庫中已有體現,IBM Almaden和 GTE及眾多的學術單位都在這個領域開展了各種各樣的研究計劃,研究的主要目標是發展有關方法論、理論和工具,以支持從大量數據中提取有用的知識和模式。
……