Microsoft Office Access是由微軟發(fā)布的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它結(jié)合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項(xiàng)特點(diǎn),是 Microsoft Office 的系統(tǒng)程序之一。
Microsoft Office Access是微軟把數(shù)據(jù)庫(kù)引擎的圖形用戶界面和軟件開發(fā)工具結(jié)合在一起的一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)。它是微軟OFFICE的一個(gè)成員, 在包括專業(yè)版和更高版本的office版本里面被單獨(dú)出售。2012年12月4日,最新的微軟Office Access 2013在微軟Office 2013里發(fā)布,微軟Office Access 2010 是前一個(gè)版本。
MS ACCESS以它自己的格式將數(shù)據(jù)存儲(chǔ)在基于Access Jet的數(shù)據(jù)庫(kù)引擎里。它還可以直接導(dǎo)入或者鏈接數(shù)據(jù)(這些數(shù)據(jù)存儲(chǔ)在其他應(yīng)用程序和數(shù)據(jù)庫(kù))。
軟件開發(fā)人員和數(shù)據(jù)架構(gòu)師可以使用Microsoft Access開發(fā)應(yīng)用軟件,“高級(jí)用戶”可以使用它來構(gòu)建軟件應(yīng)用程序。和其他辦公應(yīng)用程序一樣,ACCESS支持Visual Basic宏語言,它是一個(gè)面向?qū)ο蟮木幊陶Z言,可以引用各種對(duì)象,包括DAO(數(shù)據(jù)訪問對(duì)象),ActiveX數(shù)據(jù)對(duì)象,以及許多其他的ActiveX組件。可視對(duì)象用于顯示表和報(bào)表,他們的方法和屬性是在VBA編程環(huán)境下,VBA代碼模塊可以聲明和調(diào)用Windows操作系統(tǒng)函數(shù)。
Access數(shù)據(jù)庫(kù)的用途
Microsoft Access在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門。
Access的用途體現(xiàn)在兩個(gè)方面:
一、用來進(jìn)行數(shù)據(jù)分析: access有強(qiáng)大的數(shù)據(jù)處理、統(tǒng)計(jì)分析能力,利用access的查詢功能,可以方便地進(jìn)行各類匯總、平均等統(tǒng)計(jì)。并可靈活設(shè)置統(tǒng)計(jì)的條件。比如在統(tǒng)計(jì)分析上萬條記錄、十幾萬條記錄及以上的數(shù)據(jù)時(shí)速度快且操作方便,這一點(diǎn)是Excel無法與之相比的。 這一點(diǎn)體現(xiàn)在:會(huì)用access,[2] 提高了工作效率和工作能力。
二、用來開發(fā)軟件: access用來開發(fā)軟件,比如生產(chǎn)管理、銷售管理、庫(kù)存管理等各類企業(yè)管理軟件,其最大的優(yōu)點(diǎn)是:易學(xué)!非計(jì)算機(jī)專業(yè)的人員,也能學(xué)會(huì)。低成本地滿足了那些從事企業(yè)管理工作的人員的管理需要,通過軟件來規(guī)范同事、下屬的行為,推行其管理思想。(VB、.net、 C語言等開發(fā)工具對(duì)于非計(jì)算機(jī)專業(yè)人員來說太難了,而access則很容易)。 這一點(diǎn)體現(xiàn)在:實(shí)現(xiàn)了管理人員(非計(jì)算機(jī)專業(yè)畢業(yè))開發(fā)出軟件的“夢(mèng)想”,從而轉(zhuǎn)型為“懂管理+會(huì)編程”的復(fù)合型人才。[2]
另外,在開發(fā)一些小型網(wǎng)站W(wǎng)EB應(yīng)用程序時(shí),用來存儲(chǔ)數(shù)據(jù)。例如ASP+Access。這些應(yīng)用程序都利用ASP技術(shù)在InternetInformation Services運(yùn)行.比較復(fù)雜的WEB應(yīng)用程序則使用PHP/MySQL或者ASP/Microsoft SQL Server.
ACCESS的用途更多,體現(xiàn)在很多方面:
表格模板。 只需鍵入需要跟蹤的內(nèi)容,Access 便會(huì)使用表格模板提供能夠完成相關(guān)任務(wù)的應(yīng)用程序。 Access 可處理字段、關(guān)系和規(guī)則的復(fù)雜計(jì)算,以便您能夠集中精力處理項(xiàng)目。 您將擁有一個(gè)全新的應(yīng)用程序,其中包含能夠立即啟動(dòng)并運(yùn)行的自然 UI。
創(chuàng)建和運(yùn)行舊數(shù)據(jù)庫(kù)。 盡情享用對(duì)您的現(xiàn)有桌面數(shù)據(jù)庫(kù) (ACCDB/MDB) 的支持。
Access數(shù)據(jù)庫(kù)的特性
Access是一款數(shù)據(jù)庫(kù)應(yīng)用的開發(fā)工具軟件,其開發(fā)對(duì)象主要是Microsoft JET數(shù)據(jù)庫(kù)和Microsoft SQLServer數(shù)據(jù)庫(kù)。由于在Office 97及以前的版本中,Microsoft JET 3.51及以前版本的數(shù)據(jù)庫(kù)引擎是隨Access一起安裝和發(fā)布的,JET數(shù)據(jù)庫(kù)與Access就有了天生的血緣關(guān)系,并且Access對(duì)JET數(shù)據(jù)庫(kù)做了很多地?cái)U(kuò)充,如,在Access的環(huán)境中,可以在查詢中使用自己編寫的VBA函數(shù),Access的窗體、報(bào)表、宏和模塊是作為一種特殊數(shù)據(jù)存儲(chǔ)在JET數(shù)據(jù)庫(kù)文件(.mdb)中,只有在Access環(huán)境中才能使用這些對(duì)象。隨著,Microsoft Windows操作系統(tǒng)版本的不斷升級(jí)和改良,在Windows XP以后版本中,Microsoft將JET數(shù)據(jù)庫(kù)引擎集成在Windwos操作系統(tǒng)中作為系統(tǒng)組件的一部分一起發(fā)布(主要原因是Windows中還有很多組件需要使用JET引擎,活動(dòng)目錄等)。從此JET數(shù)據(jù)庫(kù)引擎從Access中分離出來,而Access也就成為了一個(gè)專門的數(shù)據(jù)庫(kù)應(yīng)用開發(fā)工具。
由于JET數(shù)據(jù)庫(kù)引擎的分離,很多應(yīng)用程序采用了JET數(shù)據(jù)庫(kù)作為其應(yīng)用的數(shù)據(jù)庫(kù),JET數(shù)據(jù)庫(kù)符合關(guān)系數(shù)據(jù)庫(kù)理論,有著完整的數(shù)據(jù)定義、數(shù)據(jù)處理、數(shù)據(jù)安全管理體系。在Microsoft Windows操作系統(tǒng)中,隨著Microsoft在ActiveX技術(shù)上的發(fā)展,Windows中不斷升級(jí)換代的數(shù)據(jù)訪問組件,這些組件包括ODBC、OLEDB、DAO、ADO、ADO,JET數(shù)據(jù)庫(kù)引擎和這些組件一起已組成了免費(fèi)的數(shù)據(jù)庫(kù)管理系統(tǒng)。
Access擁有的報(bào)表創(chuàng)建功能能夠處理任何它能夠訪問的數(shù)據(jù)源。Access提供功能參數(shù)化的查詢,這些查詢和Access表格可以被諸如VB6和.NET的其它程序通過DAO或ADO訪問。在Access中,VBA能夠通過ADO訪問參數(shù)化的存儲(chǔ)過程。與一般的CS關(guān)系型數(shù)據(jù)庫(kù)管理不同,Access不執(zhí)行數(shù)據(jù)庫(kù)觸發(fā),預(yù)存程序或交互式登錄操作。Access 2010包括了嵌入ACE數(shù)據(jù)引擎的表級(jí)觸發(fā)和預(yù)存程序,在Access 2010中,表格,查詢,圖表,報(bào)表和宏在基于網(wǎng)絡(luò)的應(yīng)用上能夠進(jìn)行分別開發(fā)。Access 2010 與MicrosoftSharePoint 2010 的集成也得到了很大改善。
它的數(shù)據(jù)文件不能突破2G的限制,它的結(jié)構(gòu)化查詢語言(JET SQL)能力有限,不適合大型數(shù)據(jù)庫(kù)處理應(yīng)用。受此限制,JET數(shù)據(jù)庫(kù)引擎允許用戶通過鏈接表和ODBC來訪問大型的數(shù)據(jù)庫(kù)系統(tǒng),如Microsoft SQL Server、Oracle等,也可以使用鏈接表訪問ISAM數(shù)據(jù)文件,如dBase、Excel、文本文件等,當(dāng)然,這也給Access應(yīng)用程序開發(fā)帶來了很多的靈活性。在這方式下,處理大型數(shù)據(jù)庫(kù)(服務(wù)型數(shù)據(jù)庫(kù),如SQL Server、Oracle)時(shí),每一個(gè)鏈接表都有一個(gè)服務(wù)器的連接,在服務(wù)器端,連接是一種資源,除了每個(gè)連接都要占用一定服務(wù)器資源外,還要負(fù)責(zé)鏈接表傳遞過來的數(shù)據(jù)訪問指令的處理并返回相應(yīng)的結(jié)果給客戶端的JET引擎;同時(shí),在客戶端的JET引擎中,JET引擎要負(fù)責(zé)翻譯各種鏈接表的數(shù)據(jù)訪問指令傳遞給服務(wù)器,還要負(fù)責(zé)將服務(wù)器返回的結(jié)果翻譯成JET引擎的數(shù)據(jù)表現(xiàn)形式以Access來處理。為了減輕這種負(fù)擔(dān),Microsoft允許Access使用Microsoft的數(shù)據(jù)訪問組件如DAO、ADO來訪問各種數(shù)據(jù)源,可是這種方式復(fù)雜而又不直觀,給Access面對(duì)的辦公人員帶來很高的技術(shù)要求。
Microsoft不甘心它的Access軟件只能通過JET引擎使用鏈接表和ODBC這種既浪費(fèi)服務(wù)器資源又浪費(fèi)客戶端資源的方式或者通過ADO復(fù)雜的編程和不直觀的操作方式來開發(fā)大型數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用,于是,在Access 2000(Access 9)版本中加入了一種新Access應(yīng)用程序開發(fā)方式——Access數(shù)據(jù)庫(kù)項(xiàng)目ADP,同時(shí)在Office 2000的發(fā)行包中包括了MSDE1.0和Sharepoint1.0。
由于ADP的引入,Access增加了新的活力。盡管同時(shí)還引入了DAP(數(shù)據(jù)訪問頁),由于其過于復(fù)雜的部署和不安全因素(基于互聯(lián)網(wǎng)部署,要啟用Remote MSADC,要做跨域訪問,部署復(fù)雜且不安全),在Access 2007中,Microsoft終于放棄了DAP。
Microsoft SQLServer的桌面版本能夠與Access一起使用,作為Jet數(shù)據(jù)庫(kù)引擎的替代。這種支持是從MSDE(Miscrosoft SQL Server桌面引擎)開始的。MSDE是MSSQL服務(wù)器2000的小型版本,以后的產(chǎn)品是SQL Server 2005 and 2008的Express(入門級(jí))版本。
Access數(shù)據(jù)庫(kù)的優(yōu)勢(shì)
Microsoft Access Basic提供了一個(gè)豐富的開發(fā)環(huán)境。這個(gè)開發(fā)環(huán)境給你足夠的靈活性和對(duì)Microsoft Windows應(yīng)用程序接口的控制,同時(shí)保護(hù)你使你免遭用高級(jí)或低級(jí)語言開發(fā)環(huán)境開發(fā)時(shí)所碰到的各種麻煩。不過,許多優(yōu)化、有效數(shù)據(jù)和模塊化方面只能是應(yīng)用程序設(shè)計(jì)者才能使用。開發(fā)者應(yīng)致力于謹(jǐn)慎地使用算法。除了一般的程序設(shè)計(jì)概念,還有一些特別的存儲(chǔ)空間的管理技術(shù),正確使用這些技術(shù)可以提高應(yīng)用程序的執(zhí)行速度,減少應(yīng)用程序所消耗的存儲(chǔ)資源。
提高速度和減少代碼量
你可以用幾種技巧來提高你的編碼速度,但是卻找不到有效的算法的替代者。接下來的這幾點(diǎn)建議可以提高你的編碼速度同時(shí)又減少你的應(yīng)用程序消耗的存儲(chǔ)空間。
用整形數(shù)進(jìn)行數(shù)學(xué)運(yùn)算
即使Microsoft Access 會(huì)使用一個(gè)聯(lián)合處理器來處理浮點(diǎn)型算術(shù),整型數(shù)算術(shù)也總是要快一些。當(dāng)你的計(jì)算不含有小數(shù),盡量使用整型或長(zhǎng)整型而不是變量或雙整型。整型除法同樣也要比浮點(diǎn)除法要快。在使用其他一些有效的數(shù)據(jù)類型時(shí)會(huì)警告:沒有任何東西可以替換有效的運(yùn)算法則。
避免使用過程調(diào)用
避免在循環(huán)體中使用子程序或函數(shù)調(diào)用。每一次調(diào)用都因額外的工作和時(shí)間而給編碼增大了負(fù)擔(dān)。每一次調(diào)用都要求把函數(shù)的局部變量和參數(shù)壓棧,而棧的大小是固定的,不能隨便加大,并且同時(shí)還要于Microsoft Access共享。
謹(jǐn)慎使用不定長(zhǎng)數(shù)據(jù)類型
不定長(zhǎng)數(shù)據(jù)類型提供了更大的靈活性,比如說允許正確處理空值和自動(dòng)處理溢出。另外這種數(shù)據(jù)類型比傳統(tǒng)的數(shù)據(jù)類型要大并消耗更多的存儲(chǔ)空間。前面還曾經(jīng)提到過,不定長(zhǎng)數(shù)據(jù)類型的變量在數(shù)學(xué)計(jì)算中比較慢。
用變量存放屬性
對(duì)變量進(jìn)行查找和設(shè)置都比對(duì)屬性進(jìn)行這些操作要快。如果你要得到或查閱一個(gè)屬性值許多次,那么把這個(gè)屬性分配給一個(gè)變量,并用這個(gè)變量來代替屬性,那么你的代碼將要運(yùn)行快得多。例如,在一個(gè)循環(huán)中,你查閱某表格中得一個(gè)控制的屬性,那么在循環(huán)外把屬性分配給一個(gè)變量,然后在循環(huán)中用查詢一個(gè)變量來代替查閱一個(gè)屬性的方法要比較快。
預(yù)載表格
當(dāng)你的應(yīng)用程序啟動(dòng)并且把它們的可見屬性設(shè)置位‘false’時(shí),如果你安裝了你所有的表格,那么你的應(yīng)用程序的性能會(huì)讓你感覺挺快。當(dāng)你需要顯示一個(gè)表格時(shí),你只需要把該表格的可見屬性設(shè)置為‘true’,這要比安裝一個(gè)表格要快得多。需要記住的是,為你安裝的每個(gè)表格,你都要從應(yīng)用程序的全局堆中消耗存儲(chǔ)空間。
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ù)庫(kù)的缺陷
1,數(shù)據(jù)庫(kù)過大時(shí),一般ACCESS數(shù)據(jù)庫(kù)達(dá)到100M左右的時(shí)候性能就會(huì)開始下降!(例如:訪問人數(shù)過多時(shí)容易造成IIS假死,過多消耗服務(wù)器資源等等)
2,容易出現(xiàn)各種因數(shù)據(jù)庫(kù)刷寫頻率過快而引起的數(shù)據(jù)庫(kù)問題。
3,ACCESS數(shù)據(jù)庫(kù)安全性比不上其他類型的數(shù)據(jù)庫(kù)。
4,ACCESS論壇大了以后就很容易出現(xiàn)數(shù)據(jù)庫(kù)方面的問題,當(dāng)論壇數(shù)據(jù)庫(kù)在50M以上,帖子5萬左右,在線也在100人左右的時(shí)候,你的論壇基本上都在處理數(shù)據(jù)庫(kù)上花時(shí)間,這個(gè)時(shí)候很可能就會(huì)出現(xiàn)數(shù)據(jù)庫(kù)慢的情況。
一般癥狀是所有涉及數(shù)據(jù)庫(kù)的頁面,突然運(yùn)行都慢的出奇(執(zhí)行時(shí)間達(dá)到5秒以上甚至幾十秒),涉及HTML和純ASP運(yùn)算的頁面都正常,等過一段時(shí)間(約10分鐘或更長(zhǎng))以后又突然恢復(fù)(我的論壇有時(shí)候就會(huì)出現(xiàn)這樣的問題)。這個(gè)時(shí)候你可以用一般ASP探針測(cè)試一下,如果服務(wù)器的運(yùn)算時(shí)間正常,一般就是數(shù)據(jù)庫(kù)方面的問題了。
解決方法:
由于這是ACCESS本身的局限性,所以解決的方法除了減少數(shù)據(jù)量和更換大型的數(shù)據(jù)庫(kù)論壇以外也沒什么好辦法。
1。臨時(shí)解決辦法:定期刪除多余的數(shù)據(jù)、壓縮數(shù)據(jù)庫(kù),限制論壇灌水,甚至限制論壇注冊(cè)。
2。比較長(zhǎng)遠(yuǎn)辦法:更換論壇和數(shù)據(jù)庫(kù),使用SQL數(shù)據(jù)庫(kù)等等。
Access數(shù)據(jù)庫(kù)的版本歷史
Microsoft Access 1.0 版本在1992年11月發(fā)布。
微軟指定它對(duì)系統(tǒng)最小要求為視窗3.0配以4兆節(jié)內(nèi)存。6兆節(jié)內(nèi)存配以最小8兆節(jié)硬盤空間(建議最好有14兆節(jié)硬盤空間)則為建議的系統(tǒng)要求。當(dāng)時(shí)軟件以7張1.44兆節(jié)軟碟發(fā)布的載體。
這個(gè)軟件能夠有效地處理大量記錄但是測(cè)試顯示在某些情況下會(huì)導(dǎo)致數(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.
|
年份 |
版本 |
版本 代號(hào) |
支援系統(tǒng) |
Office套件版本 |
|
1992年 |
Access 1.1 |
1 |
||
|
1993年 |
Access 2.0 |
2.0 |
Windows 3.1x |
Office 4.3 Pro |
|
1995年 |
Access for Windows 95 |
7.0 |
Office 95 Professional |
|
|
1997年 |
Access 97 |
8.0 |
Windows 9x,NT3.51/4.0 |
|
|
1999年 |
Access 2000 |
9.0 |
Windows 9x, NT 4.0, 2000 |
|
|
2001年 |
Access 2002 |
10 |
Windows 98, Me, 2000, XP |
Office XP |
|
2003年 |
Access 2003 |
11 |
Windows 2000, XP,Vista |
|
|
2007年 |
Microsoft Office Access 2007 |
12 |
Windows XP SP2, Vista |
|
|
2010年 |
Microsoft Office Access 2010 |
14 |
Windows 7 |
|
|
2015年 |
Microsoft Office Access 2016 |
16 |
Windows 7 & Windows 8&win10 |
Office 2016Professional,plus |



2016年11月17日 上午9:12 沙發(fā)
你的博客就像冬天里的一把火!