Access數(shù)據(jù)庫的相關(guān)介紹

2016年11月14日05:09:03 1 5,080 ℃

Microsoft Office Access是由微軟發(fā)布的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它結(jié)合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office 的系統(tǒng)程序之一。

Microsoft Office Access是微軟把數(shù)據(jù)庫引擎的圖形用戶界面和軟件開發(fā)工具結(jié)合在一起的一個數(shù)據(jù)庫管理系統(tǒng)。它是微軟OFFICE的一個成員, 在包括專業(yè)版和更高版本的office版本里面被單獨出售。2012年12月4日,最新的微軟Office Access 2013在微軟Office 2013里發(fā)布,微軟Office Access 2010 是前一個版本。

MS ACCESS以它自己的格式將數(shù)據(jù)存儲在基于Access Jet的數(shù)據(jù)庫引擎里。它還可以直接導入或者鏈接數(shù)據(jù)(這些數(shù)據(jù)存儲在其他應(yīng)用程序和數(shù)據(jù)庫)。

軟件開發(fā)人員和數(shù)據(jù)架構(gòu)師可以使用Microsoft Access開發(fā)應(yīng)用軟件,“高級用戶”可以使用它來構(gòu)建軟件應(yīng)用程序。和其他辦公應(yīng)用程序一樣,ACCESS支持Visual Basic宏語言,它是一個面向?qū)ο蟮木幊陶Z言,可以引用各種對象,包括DAO(數(shù)據(jù)訪問對象),ActiveX數(shù)據(jù)對象,以及許多其他的ActiveX組件??梢晫ο笥糜陲@示表和報表,他們的方法和屬性是在VBA編程環(huán)境下,VBA代碼模塊可以聲明和調(diào)用Windows操作系統(tǒng)函數(shù)。

Access數(shù)據(jù)庫的用途

Microsoft Access在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門。

Access的用途體現(xiàn)在兩個方面:

一、用來進行數(shù)據(jù)分析: access有強大的數(shù)據(jù)處理、統(tǒng)計分析能力,利用access的查詢功能,可以方便地進行各類匯總、平均等統(tǒng)計。并可靈活設(shè)置統(tǒng)計的條件。比如在統(tǒng)計分析上萬條記錄、十幾萬條記錄及以上的數(shù)據(jù)時速度快且操作方便,這一點是Excel無法與之相比的。 這一點體現(xiàn)在:會用access,[2]  提高了工作效率和工作能力。

二、用來開發(fā)軟件: access用來開發(fā)軟件,比如生產(chǎn)管理、銷售管理、庫存管理等各類企業(yè)管理軟件,其最大的優(yōu)點是:易學!非計算機專業(yè)的人員,也能學會。低成本地滿足了那些從事企業(yè)管理工作的人員的管理需要,通過軟件來規(guī)范同事、下屬的行為,推行其管理思想。(VB、.net、 C語言等開發(fā)工具對于非計算機專業(yè)人員來說太難了,而access則很容易)。 這一點體現(xiàn)在:實現(xiàn)了管理人員(非計算機專業(yè)畢業(yè))開發(fā)出軟件的“夢想”,從而轉(zhuǎn)型為“懂管理+會編程”的復合型人才。[2]  

另外,在開發(fā)一些小型網(wǎng)站W(wǎng)EB應(yīng)用程序時,用來存儲數(shù)據(jù)。例如ASP+Access。這些應(yīng)用程序都利用ASP技術(shù)在InternetInformation Services運行.比較復雜的WEB應(yīng)用程序則使用PHP/MySQL或者ASP/Microsoft SQL Server.

ACCESS的用途更多,體現(xiàn)在很多方面:

表格模板。 只需鍵入需要跟蹤的內(nèi)容,Access 便會使用表格模板提供能夠完成相關(guān)任務(wù)的應(yīng)用程序。 Access 可處理字段、關(guān)系和規(guī)則的復雜計算,以便您能夠集中精力處理項目。 您將擁有一個全新的應(yīng)用程序,其中包含能夠立即啟動并運行的自然 UI。

創(chuàng)建和運行舊數(shù)據(jù)庫。 盡情享用對您的現(xiàn)有桌面數(shù)據(jù)庫 (ACCDB/MDB) 的支持。

Access數(shù)據(jù)庫的特性

Access是一款數(shù)據(jù)庫應(yīng)用的開發(fā)工具軟件,其開發(fā)對象主要是Microsoft JET數(shù)據(jù)庫和Microsoft SQLServer數(shù)據(jù)庫。由于在Office 97及以前的版本中,Microsoft JET 3.51及以前版本的數(shù)據(jù)庫引擎是隨Access一起安裝和發(fā)布的,JET數(shù)據(jù)庫與Access就有了天生的血緣關(guān)系,并且Access對JET數(shù)據(jù)庫做了很多地擴充,如,在Access的環(huán)境中,可以在查詢中使用自己編寫的VBA函數(shù),Access的窗體、報表、宏和模塊是作為一種特殊數(shù)據(jù)存儲在JET數(shù)據(jù)庫文件(.mdb)中,只有在Access環(huán)境中才能使用這些對象。隨著,Microsoft Windows操作系統(tǒng)版本的不斷升級和改良,在Windows XP以后版本中,Microsoft將JET數(shù)據(jù)庫引擎集成在Windwos操作系統(tǒng)中作為系統(tǒng)組件的一部分一起發(fā)布(主要原因是Windows中還有很多組件需要使用JET引擎,活動目錄等)。從此JET數(shù)據(jù)庫引擎從Access中分離出來,而Access也就成為了一個專門的數(shù)據(jù)庫應(yīng)用開發(fā)工具。

由于JET數(shù)據(jù)庫引擎的分離,很多應(yīng)用程序采用了JET數(shù)據(jù)庫作為其應(yīng)用的數(shù)據(jù)庫,JET數(shù)據(jù)庫符合關(guān)系數(shù)據(jù)庫理論,有著完整的數(shù)據(jù)定義、數(shù)據(jù)處理、數(shù)據(jù)安全管理體系。在Microsoft Windows操作系統(tǒng)中,隨著Microsoft在ActiveX技術(shù)上的發(fā)展,Windows中不斷升級換代的數(shù)據(jù)訪問組件,這些組件包括ODBC、OLEDB、DAO、ADO、ADO,JET數(shù)據(jù)庫引擎和這些組件一起已組成了免費的數(shù)據(jù)庫管理系統(tǒng)。

Access擁有的報表創(chuàng)建功能能夠處理任何它能夠訪問的數(shù)據(jù)源。Access提供功能參數(shù)化的查詢,這些查詢和Access表格可以被諸如VB6和.NET的其它程序通過DAO或ADO訪問。在Access中,VBA能夠通過ADO訪問參數(shù)化的存儲過程。與一般的CS關(guān)系型數(shù)據(jù)庫管理不同,Access不執(zhí)行數(shù)據(jù)庫觸發(fā),預存程序或交互式登錄操作。Access 2010包括了嵌入ACE數(shù)據(jù)引擎的表級觸發(fā)和預存程序,在Access 2010中,表格,查詢,圖表,報表和宏在基于網(wǎng)絡(luò)的應(yīng)用上能夠進行分別開發(fā)。Access 2010 與MicrosoftSharePoint 2010 的集成也得到了很大改善。

它的數(shù)據(jù)文件不能突破2G的限制,它的結(jié)構(gòu)化查詢語言(JET SQL)能力有限,不適合大型數(shù)據(jù)庫處理應(yīng)用。受此限制,JET數(shù)據(jù)庫引擎允許用戶通過鏈接表和ODBC來訪問大型的數(shù)據(jù)庫系統(tǒng),如Microsoft SQL Server、Oracle等,也可以使用鏈接表訪問ISAM數(shù)據(jù)文件,如dBase、Excel、文本文件等,當然,這也給Access應(yīng)用程序開發(fā)帶來了很多的靈活性。在這方式下,處理大型數(shù)據(jù)庫(服務(wù)型數(shù)據(jù)庫,如SQL Server、Oracle)時,每一個鏈接表都有一個服務(wù)器的連接,在服務(wù)器端,連接是一種資源,除了每個連接都要占用一定服務(wù)器資源外,還要負責鏈接表傳遞過來的數(shù)據(jù)訪問指令的處理并返回相應(yīng)的結(jié)果給客戶端的JET引擎;同時,在客戶端的JET引擎中,JET引擎要負責翻譯各種鏈接表的數(shù)據(jù)訪問指令傳遞給服務(wù)器,還要負責將服務(wù)器返回的結(jié)果翻譯成JET引擎的數(shù)據(jù)表現(xiàn)形式以Access來處理。為了減輕這種負擔,Microsoft允許Access使用Microsoft的數(shù)據(jù)訪問組件如DAO、ADO來訪問各種數(shù)據(jù)源,可是這種方式復雜而又不直觀,給Access面對的辦公人員帶來很高的技術(shù)要求。

Microsoft不甘心它的Access軟件只能通過JET引擎使用鏈接表和ODBC這種既浪費服務(wù)器資源又浪費客戶端資源的方式或者通過ADO復雜的編程和不直觀的操作方式來開發(fā)大型數(shù)據(jù)庫系統(tǒng)應(yīng)用,于是,在Access 2000(Access 9)版本中加入了一種新Access應(yīng)用程序開發(fā)方式——Access數(shù)據(jù)庫項目ADP,同時在Office 2000的發(fā)行包中包括了MSDE1.0和Sharepoint1.0。

由于ADP的引入,Access增加了新的活力。盡管同時還引入了DAP(數(shù)據(jù)訪問頁),由于其過于復雜的部署和不安全因素(基于互聯(lián)網(wǎng)部署,要啟用Remote MSADC,要做跨域訪問,部署復雜且不安全),在Access 2007中,Microsoft終于放棄了DAP。

Microsoft SQLServer的桌面版本能夠與Access一起使用,作為Jet數(shù)據(jù)庫引擎的替代。這種支持是從MSDE(Miscrosoft SQL Server桌面引擎)開始的。MSDE是MSSQL服務(wù)器2000的小型版本,以后的產(chǎn)品是SQL Server 2005 and 2008的Express(入門級)版本。

Access數(shù)據(jù)庫的優(yōu)勢

Microsoft Access Basic提供了一個豐富的開發(fā)環(huán)境。這個開發(fā)環(huán)境給你足夠的靈活性和對Microsoft Windows應(yīng)用程序接口的控制,同時保護你使你免遭用高級或低級語言開發(fā)環(huán)境開發(fā)時所碰到的各種麻煩。不過,許多優(yōu)化、有效數(shù)據(jù)和模塊化方面只能是應(yīng)用程序設(shè)計者才能使用。開發(fā)者應(yīng)致力于謹慎地使用算法。除了一般的程序設(shè)計概念,還有一些特別的存儲空間的管理技術(shù),正確使用這些技術(shù)可以提高應(yīng)用程序的執(zhí)行速度,減少應(yīng)用程序所消耗的存儲資源。

提高速度和減少代碼量

你可以用幾種技巧來提高你的編碼速度,但是卻找不到有效的算法的替代者。接下來的這幾點建議可以提高你的編碼速度同時又減少你的應(yīng)用程序消耗的存儲空間。

用整形數(shù)進行數(shù)學運算

即使Microsoft Access 會使用一個聯(lián)合處理器來處理浮點型算術(shù),整型數(shù)算術(shù)也總是要快一些。當你的計算不含有小數(shù),盡量使用整型或長整型而不是變量或雙整型。整型除法同樣也要比浮點除法要快。在使用其他一些有效的數(shù)據(jù)類型時會警告:沒有任何東西可以替換有效的運算法則。

避免使用過程調(diào)用

避免在循環(huán)體中使用子程序或函數(shù)調(diào)用。每一次調(diào)用都因額外的工作和時間而給編碼增大了負擔。每一次調(diào)用都要求把函數(shù)的局部變量和參數(shù)壓棧,而棧的大小是固定的,不能隨便加大,并且同時還要于Microsoft Access共享。

謹慎使用不定長數(shù)據(jù)類型

不定長數(shù)據(jù)類型提供了更大的靈活性,比如說允許正確處理空值和自動處理溢出。另外這種數(shù)據(jù)類型比傳統(tǒng)的數(shù)據(jù)類型要大并消耗更多的存儲空間。前面還曾經(jīng)提到過,不定長數(shù)據(jù)類型的變量在數(shù)學計算中比較慢。

用變量存放屬性

對變量進行查找和設(shè)置都比對屬性進行這些操作要快。如果你要得到或查閱一個屬性值許多次,那么把這個屬性分配給一個變量,并用這個變量來代替屬性,那么你的代碼將要運行快得多。例如,在一個循環(huán)中,你查閱某表格中得一個控制的屬性,那么在循環(huán)外把屬性分配給一個變量,然后在循環(huán)中用查詢一個變量來代替查閱一個屬性的方法要比較快。

預載表格

當你的應(yīng)用程序啟動并且把它們的可見屬性設(shè)置位‘false’時,如果你安裝了你所有的表格,那么你的應(yīng)用程序的性能會讓你感覺挺快。當你需要顯示一個表格時,你只需要把該表格的可見屬性設(shè)置為‘true’,這要比安裝一個表格要快得多。需要記住的是,為你安裝的每個表格,你都要從應(yīng)用程序的全局堆中消耗存儲空間。

ASP中連接字符串應(yīng)用

"Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"

dim conn

set conn = server.createobject("adodb.connection")

conn.open "provider=Microsoft.ACE.OLEDB.12.0;" & "data source = " & server.mappath("bbs.mdb")

Access數(shù)據(jù)庫的缺陷

1,數(shù)據(jù)庫過大時,一般ACCESS數(shù)據(jù)庫達到100M左右的時候性能就會開始下降?。ɡ纾涸L問人數(shù)過多時容易造成IIS假死,過多消耗服務(wù)器資源等等)

2,容易出現(xiàn)各種因數(shù)據(jù)庫刷寫頻率過快而引起的數(shù)據(jù)庫問題。

3,ACCESS數(shù)據(jù)庫安全性比不上其他類型的數(shù)據(jù)庫。

4,ACCESS論壇大了以后就很容易出現(xiàn)數(shù)據(jù)庫方面的問題,當論壇數(shù)據(jù)庫在50M以上,帖子5萬左右,在線也在100人左右的時候,你的論壇基本上都在處理數(shù)據(jù)庫上花時間,這個時候很可能就會出現(xiàn)數(shù)據(jù)庫慢的情況。

一般癥狀是所有涉及數(shù)據(jù)庫的頁面,突然運行都慢的出奇(執(zhí)行時間達到5秒以上甚至幾十秒),涉及HTML和純ASP運算的頁面都正常,等過一段時間(約10分鐘或更長)以后又突然恢復(我的論壇有時候就會出現(xiàn)這樣的問題)。這個時候你可以用一般ASP探針測試一下,如果服務(wù)器的運算時間正常,一般就是數(shù)據(jù)庫方面的問題了。

解決方法:

由于這是ACCESS本身的局限性,所以解決的方法除了減少數(shù)據(jù)量和更換大型的數(shù)據(jù)庫論壇以外也沒什么好辦法。

1。臨時解決辦法:定期刪除多余的數(shù)據(jù)、壓縮數(shù)據(jù)庫,限制論壇灌水,甚至限制論壇注冊。

2。比較長遠辦法:更換論壇和數(shù)據(jù)庫,使用SQL數(shù)據(jù)庫等等。

Access數(shù)據(jù)庫的版本歷史

Microsoft Access 1.0 版本在1992年11月發(fā)布。

微軟指定它對系統(tǒng)最小要求為視窗3.0配以4兆節(jié)內(nèi)存。6兆節(jié)內(nèi)存配以最小8兆節(jié)硬盤空間(建議最好有14兆節(jié)硬盤空間)則為建議的系統(tǒng)要求。當時軟件以7張1.44兆節(jié)軟碟發(fā)布的載體。

這個軟件能夠有效地處理大量記錄但是測試顯示在某些情況下會導致數(shù)據(jù)損毀。For example, file sizes over 700 MB were problematic. (Note that most hard disks were smaller than 700 MB at the time this was in wide use.) The Getting Started manual warns about a number of circumstances where obsolete device drivers or incorrect configurations can cause data loss.

Access' initial codename was Cirrus. This was developed before Visual Basic and the forms engine was called Ruby. Bill Gates saw the prototypes and decided that the Basic languagecomponent should be co-developed as a separate expandable application. This project was called Thunder. The two projects were developed separately as the underlying forms engines were incompatible with each other; however, these were merged together again after VBA.

年份

版本

版本

代號

支援系統(tǒng)

Office套件版本

1992

Access 1.1

1

Windows 3.0

1993

Access 2.0

2.0

Windows 3.1x

Office 4.3 Pro

1995

Access for Windows 95

7.0

Windows 95

Office 95 Professional

1997

Access 97

8.0

Windows 9x,NT3.51/4.0

Office 97

1999

Access 2000

9.0

Windows 9x, NT 4.0, 2000

Office 2000

2001

Access 2002

10

Windows 98,   Me, 2000, XP

Office XP

2003

Access 2003

11

Windows 2000,   XP,Vista

Office 2003

2007

Microsoft Office Access 2007

12

Windows XP SP2,   Vista

Office 2007

2010

Microsoft Office Access 2010

14

Windows 7

Office 2010

2015

Microsoft Office Access 2016

16

Windows 7 & Windows 8&win10

Office 2016Professional,plus

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論取消回復

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前評論:1   其中:訪客  0   博主  0

    • avatar 增達 1

      你的博客就像冬天里的一把火!