王彥良
(延安職業(yè)技術(shù)學(xué)院,陜西延安716000)
Access是微軟公司Office辦公軟件中的一個(gè)重要組件,它是一個(gè)功能強(qiáng)大且簡(jiǎn)單易用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。具有強(qiáng)大的建立數(shù)據(jù)庫(kù)和管理數(shù)據(jù)庫(kù)的功能。而且還對(duì)現(xiàn)在的許多用戶的需求提供強(qiáng)大的支持。用Access創(chuàng)建的數(shù)據(jù)庫(kù)系統(tǒng)是都被保存在一個(gè)單獨(dú)的文件對(duì)象中,這樣對(duì)系統(tǒng)的整體的遷移帶來(lái)很大的方便,當(dāng)然維護(hù)起來(lái)也是相對(duì)容易的。另外,ACCESS對(duì)類(lèi)型的支持也是很廣泛的,這樣給數(shù)據(jù)庫(kù)的開(kāi)發(fā)人員提供了很大的方便[1]。ACCESS提供還給了用戶兩種開(kāi)發(fā)模式,一種是獨(dú)占模式,適合一個(gè)人使用開(kāi)發(fā)的場(chǎng)合,另外一種就是共享模式,適合開(kāi)發(fā)大型的系統(tǒng)的多人同時(shí)使用的時(shí)候,多人同時(shí)使用一個(gè)數(shù)據(jù)庫(kù),并行同時(shí)開(kāi)發(fā),確實(shí)提高了開(kāi)發(fā)的效率,節(jié)約了成本,但是在共享模式下,存在著諸多問(wèn)題。
Access數(shù)據(jù)庫(kù)由一些對(duì)象組成,例如表、查詢和窗體。表用于存儲(chǔ)數(shù)據(jù)。其他每種數(shù)據(jù)庫(kù)對(duì)象可幫助您使用存儲(chǔ)在表中的數(shù)據(jù)。當(dāng)要共享數(shù)據(jù)庫(kù)時(shí),通常是要共享表,原因是這些表中包含所需的數(shù)據(jù)。共享表時(shí),請(qǐng)務(wù)必確保每個(gè)用戶使用的是相同的表,以便每個(gè)用戶使用相同的數(shù)據(jù)[2]。其他數(shù)據(jù)庫(kù)對(duì)象(查詢、窗體、報(bào)表等)不包含數(shù)據(jù),它們的數(shù)據(jù)都是從原始的數(shù)據(jù)表中產(chǎn)生的。因此可以使用表的不同副本供給每個(gè)不同的用戶使用。實(shí)際上,使用對(duì)象的不同副本可以獲得好處。根據(jù)用戶的需求和現(xiàn)有的資源,可以有多種方法來(lái)共享數(shù)據(jù)庫(kù)。
具體的做法是,將表放置一個(gè)Access文件中,而將其他任何對(duì)象放置在另一個(gè)稱(chēng)為“前端數(shù)據(jù)庫(kù)”的Access文件中。前端數(shù)據(jù)庫(kù)包含指向其他文件中的表的鏈接。每個(gè)用戶都將獲得自己的前端數(shù)據(jù)庫(kù)副本,以便僅共享表。
這種方法的優(yōu)點(diǎn)是:性能提高,因?yàn)閿?shù)據(jù)庫(kù)拆分后,只需要通過(guò)網(wǎng)絡(luò)來(lái)發(fā)送數(shù)據(jù)副本,性能得到了很大的提高;可用性好,用戶可以很容易的編輯數(shù)據(jù)和保存。安全性好,因?yàn)橛脩粼L問(wèn)的是前端數(shù)據(jù)庫(kù),未經(jīng)授權(quán)的訪問(wèn),就不可能對(duì)后端的數(shù)據(jù)庫(kù)進(jìn)行修改;另外,開(kāi)發(fā)環(huán)境也比以前靈活了許多,用戶訪問(wèn)的是前端的數(shù)據(jù)庫(kù),用戶就可以根據(jù)自己的數(shù)據(jù)庫(kù)副本來(lái)開(kāi)發(fā)自己的系統(tǒng),而不會(huì)相互影響。
這種方法比較簡(jiǎn)單,但提供的功能也最少。將數(shù)據(jù)庫(kù)文件存儲(chǔ)在共享網(wǎng)絡(luò)驅(qū)動(dòng)器上,用戶可以通過(guò)網(wǎng)絡(luò)同時(shí)來(lái)使用這一文件。當(dāng)有多個(gè)用戶同時(shí)更改數(shù)據(jù)時(shí),可靠性和可用性就會(huì)成為問(wèn)題。所以,使用網(wǎng)絡(luò)文件夾有前提條件:用戶數(shù)量不是很多;數(shù)據(jù)庫(kù)中不存在任何“備注”字段;不同的用戶將不會(huì)同時(shí)更新相同的字段??梢酝ㄟ^(guò)設(shè)置ACCESS共享模式,將數(shù)據(jù)庫(kù)共享,為每個(gè)用戶設(shè)置ACCESS數(shù)據(jù)庫(kù)的快捷方式。就可以共享數(shù)據(jù)庫(kù)了。
Access提供各種與WindowsSharePointServices集成的方法,如果您具有WindowsSharePointServices的服務(wù)器,那么這將是一個(gè)好的選擇。以下是兩種方法:發(fā)布數(shù)據(jù)庫(kù)和鏈接到列表。①可以利用SharePoint列表功能,從SharePoint的“視圖”菜單打開(kāi)窗體和報(bào)表。由于數(shù)據(jù)庫(kù)文件存儲(chǔ)在SharePoint網(wǎng)站上,因此將共享所有數(shù)據(jù)庫(kù)對(duì)象。②鏈接到SharePoint列表,將共享數(shù)據(jù),但不會(huì)共享數(shù)據(jù)庫(kù)對(duì)象。每個(gè)用戶都將獲得自己的數(shù)據(jù)庫(kù)副本。這種方法要求用戶只要安裝ACCESS就可以了,設(shè)置簡(jiǎn)單易用。
可以將Access與數(shù)據(jù)庫(kù)服務(wù)器產(chǎn)品(如SQLServer)一起使用以共享數(shù)據(jù)庫(kù)。這種方法和網(wǎng)絡(luò)上拆分存儲(chǔ)表的數(shù)據(jù)庫(kù)非常相似,每個(gè)用戶都具有包含指向這些表的鏈接以及ACCESS對(duì)象文件的本地副本。將優(yōu)化數(shù)據(jù)庫(kù)服務(wù)器以便在多個(gè)用戶之間共享數(shù)據(jù)。此方法的優(yōu)點(diǎn)是根據(jù)所使用的數(shù)據(jù)庫(kù)服務(wù)器軟件的不同,用戶得到的共享數(shù)據(jù)庫(kù)文件時(shí)不同的。并且用戶賬戶可以對(duì)共享數(shù)據(jù)的選擇訪問(wèn)、良好的數(shù)據(jù)可用性以及優(yōu)秀的集成數(shù)據(jù)管理工具。
ACCESS數(shù)據(jù)庫(kù)是現(xiàn)在廣泛采用的一種關(guān)系型數(shù)據(jù)系統(tǒng)。它有兩種共享和獨(dú)占兩種模式供用戶使用。特點(diǎn)一是默認(rèn)的打開(kāi)方式是共享方式,可以在兩種模式之間自由的切換。如果當(dāng)前用戶是ACCESS數(shù)據(jù)庫(kù)的唯一用戶,就會(huì)自動(dòng)的切換為獨(dú)占方式。在獨(dú)占方式下,當(dāng)有其它用戶也要使用這個(gè)數(shù)據(jù)庫(kù)時(shí),也是可以打開(kāi)的,但是就是不能將更改了的數(shù)據(jù)保存到當(dāng)前的數(shù)據(jù)庫(kù)中,這也是保證數(shù)據(jù)安全性的一種途徑。獨(dú)占模式關(guān)閉所有的設(shè)計(jì)窗口時(shí),ACCESS就會(huì)自動(dòng)返回到共享模式,同時(shí),保存所有打開(kāi)的模塊并關(guān)閉VBE。特點(diǎn)二是主要的設(shè)計(jì)更改完成后,次要的設(shè)計(jì)更改才可以生效。在共享模式下,當(dāng)前數(shù)據(jù)庫(kù)設(shè)計(jì)的更改時(shí)主要的設(shè)計(jì)更改,這時(shí)其它用戶可以共享模式打開(kāi)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改就稱(chēng)之為次要的設(shè)計(jì)更改,如修改窗體,建立查詢等。
開(kāi)發(fā)大型項(xiàng)目的時(shí)候,通常要多人共同參與,為了保證數(shù)據(jù)庫(kù)數(shù)據(jù)的唯一性和開(kāi)發(fā)的高效性。ACCESS的共享模式是解決這樣問(wèn)題的一種比較好的方式。
1、為特定的開(kāi)發(fā)者指定專(zhuān)用的對(duì)象和組。例如,更具開(kāi)發(fā)者使用數(shù)據(jù)對(duì)象的不同,一個(gè)開(kāi)發(fā)者設(shè)計(jì)表,而另外一個(gè)設(shè)計(jì)者可以設(shè)計(jì)窗體或報(bào)表,給每個(gè)開(kāi)發(fā)者創(chuàng)造數(shù)據(jù)庫(kù)副本就行了。當(dāng)項(xiàng)目開(kāi)發(fā)完成準(zhǔn)備測(cè)試時(shí),只要將每個(gè)開(kāi)發(fā)者的數(shù)據(jù)庫(kù)副本導(dǎo)出來(lái),重新組裝,再導(dǎo)入到主ACCESS數(shù)據(jù)庫(kù)中。
2、使用源代碼對(duì)整個(gè)過(guò)程進(jìn)行控制。在ACCESS中,可以通過(guò)編輯VBA代碼,來(lái)對(duì)整個(gè)程序的流程就行控制,在現(xiàn)在高版本的ACCESS中,多集成了工具Visual SourceSafe,可以用它里面的一個(gè)工具,來(lái)保證程序具有最好的性能。定期運(yùn)行“性能分析器”是一種較好的程序設(shè)計(jì)習(xí)慣。
3、可以通過(guò)共享策略來(lái)保證數(shù)據(jù)庫(kù)中表的數(shù)據(jù)的一致性。在ACCESS中,表是非常重要的一個(gè)對(duì)象,表示其它對(duì)象數(shù)據(jù)的源泉。所以表中的數(shù)據(jù)應(yīng)該都是最原始的基本數(shù)據(jù)。如果一個(gè)表,或者是基于該表的窗體、報(bào)表被打開(kāi)時(shí),為了保證數(shù)據(jù)的唯一性,ACCESS會(huì)自動(dòng)的將該表標(biāo)記為只讀,其它用戶可以打開(kāi)該表的設(shè)計(jì),但是不允許修改。
4、相互依賴(lài)的表會(huì)自動(dòng)同時(shí)更新。在ACCESS中,如果某個(gè)對(duì)象被修改了,和它相關(guān)聯(lián)的對(duì)象會(huì)被全部更新。比如一個(gè)表的數(shù)據(jù)被修改了,那么與這個(gè)表相關(guān)聯(lián)的對(duì)象都會(huì)自動(dòng)的更新,這樣是為了保證數(shù)據(jù)的不一致性,不會(huì)出現(xiàn)多個(gè)用戶打開(kāi)同一張表,但是數(shù)據(jù)不一致的情況。
5、ACCESS 共享策略可以通過(guò)先后關(guān)系來(lái)保證數(shù)據(jù)的完整性。比如一個(gè)用戶正在操作已經(jīng)被其他用戶打開(kāi)的報(bào)表,那么它必須等其它用戶將報(bào)表修改后保存成功了,才可以對(duì)這個(gè)報(bào)表再次的修改。通過(guò)這樣的一個(gè)先后的關(guān)系,就可以保證以后其他用戶再使用該數(shù)據(jù)的時(shí)候,打開(kāi)的是最新的版本的數(shù)據(jù)。再打開(kāi)其他用戶正在使用的VBA模塊時(shí),也是要等其它用戶使用完了保存成功后,才可以重新打開(kāi)使用。
Access是微軟公司Office辦公軟件中的一個(gè)重要組件,它功能強(qiáng)大,簡(jiǎn)單易用,它雖然簡(jiǎn)單,但是具有強(qiáng)大的數(shù)據(jù)庫(kù)建立和管理的功能?,F(xiàn)在在小型的數(shù)據(jù)中被廣泛采用。數(shù)據(jù)庫(kù)對(duì)象具有單獨(dú)的數(shù)據(jù)文件,同時(shí)不同的平臺(tái)之間可以進(jìn)行遷移。這樣對(duì)數(shù)據(jù)庫(kù)管理員來(lái)講,維護(hù)起來(lái)就是很方便的。
[1] 宋天福.探討用ACCESS 編寫(xiě)計(jì)量檢定管理系統(tǒng)的思路[J].才智,2010,07,25.
[2] 楊琨.基于VB6.0 和Access 數(shù)據(jù)庫(kù)的高校學(xué)生管理系統(tǒng)的設(shè)計(jì)[J]. 電子測(cè)試,2014,03,25.