陳興亞
(貴州省林業(yè)調(diào)查規(guī)劃院, 貴州 貴陽 550003)
設(shè)過程中的應(yīng)用
Access軟件在公益林?jǐn)?shù)據(jù)庫建設(shè)中的應(yīng)用
陳興亞
(貴州省林業(yè)調(diào)查規(guī)劃院, 貴州 貴陽 550003)
簡述了Access數(shù)據(jù)庫技術(shù)及其查詢功能在公益林?jǐn)?shù)據(jù)庫建設(shè)過程中的應(yīng)用。
公益林; Access數(shù)據(jù)庫; SELECT語句
在公益林?jǐn)?shù)據(jù)庫建設(shè)過程中,屬性因子的邏輯檢查和最終成果的統(tǒng)計(jì)分析是一項(xiàng)比較繁瑣、復(fù)雜而又非常重要的工作,成千上萬條數(shù)據(jù)的屬性因子的填記以及因子之間的邏輯關(guān)系檢查,需要工作人員對這些數(shù)據(jù)進(jìn)行一一排查,費(fèi)時(shí)又費(fèi)力,通過Access軟件則可以快速完成。
隨著計(jì)算機(jī)技術(shù)、通信技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,人類社會已經(jīng)進(jìn)入了信息化時(shí)代。數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)技術(shù)的重要分支,是數(shù)據(jù)庫管理的實(shí)用技術(shù)[1]。數(shù)據(jù)管理技術(shù)是指對數(shù)據(jù)的分類、組織、編碼、存儲、檢索和維護(hù)的技術(shù),其發(fā)展是和計(jì)算機(jī)技術(shù)及其應(yīng)用的發(fā)展密不可分的[2]。數(shù)據(jù)庫系統(tǒng)本質(zhì)上是一個(gè)用計(jì)算機(jī)存儲查詢記錄的系統(tǒng)。數(shù)據(jù)庫本身可被看作為一種電子文件柜也就是說,它是收集計(jì)算機(jī)數(shù)據(jù)文件的倉庫或容器。系統(tǒng)用戶可以對這些文件執(zhí)行插入數(shù)據(jù)、檢索數(shù)據(jù)、更改數(shù)據(jù)、刪除數(shù)據(jù)等一系列操作[3]。簡言之,數(shù)據(jù)庫是信息系統(tǒng)的基礎(chǔ),數(shù)據(jù)庫技術(shù)所研究的問題就是如何科學(xué)地組織和存儲數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)[4]。
Access 2007關(guān)系型數(shù)據(jù)庫管理系統(tǒng)是Microsoft公司的Office 2007辦公自動化軟件的一個(gè)組成部分,是基于Windows平臺的關(guān)系數(shù)據(jù)庫管理系統(tǒng)[5]。它界面友好、操作簡單、功能全面、使用方便。Access 2007的最大特點(diǎn)是其易用性,用戶可以在很短的時(shí)間內(nèi)掌握利用Access進(jìn)行數(shù)據(jù)庫開發(fā)的方法,并利用其向?qū)Х奖?、快捷、簡單地設(shè)計(jì)出一個(gè)數(shù)據(jù)庫系統(tǒng)。Access還可以利用宏和Visual Basic for Application(VBA)編寫出具有強(qiáng)大功能的數(shù)據(jù)庫應(yīng)用程序,適合于一般用戶特別是非計(jì)算機(jī)專業(yè)人員進(jìn)行數(shù)據(jù)庫管理[6]。
設(shè)過程中的應(yīng)用
用Access軟件對公益林?jǐn)?shù)據(jù)進(jìn)行查詢操作,可以實(shí)現(xiàn)大量數(shù)據(jù)的快速檢查和統(tǒng)計(jì)分析,下面詳細(xì)介紹利用Access軟件對公益林?jǐn)?shù)據(jù)進(jìn)行查詢的操作步驟。
2.1Access數(shù)據(jù)庫的建立
首先建立公益林?jǐn)?shù)據(jù)庫(mdb格式),公益林?jǐn)?shù)據(jù)庫有統(tǒng)一的標(biāo)準(zhǔn)字段名稱、數(shù)據(jù)類型的要求,數(shù)據(jù)庫框架建立起來后,就可以往里面添加數(shù)據(jù)了,建立起來的數(shù)據(jù)庫如圖1所示[7]。
圖1 公益林?jǐn)?shù)據(jù)庫的建立Fig.1 The establishment of the database of public welfare forest
2.2查詢語句
在Access中,大多數(shù)的語句都是由SELECT構(gòu)成的。由于SELECT語句的完整語句比較復(fù)雜,故在這里只列舉出它的主要子句。SELECT語句的主要子句格式如下:
SELECT [ALL|DISTINCT][TOP n] select_list
[INTO new_table]
[FROM table_condition]
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_by_expression [ASC|DESC]][8]
語句說明:
[]方括號為可選項(xiàng);
各語句的功能分別為:SELECT子句指定所需要顯示的字段名;
FROM子句指定各字段所在的表名或視圖名;
WHERE子句指定查詢的標(biāo)準(zhǔn),通常是一些表 達(dá)式,可以包括以下一些運(yùn)算符:(1)比較運(yùn)算符:“=”、“>”、“<”、“>=”、“<=”、“<>”;(2)范圍運(yùn)算符:BETWEEN…AND…和NOT BETWEEN…AND…;(3)列表運(yùn)算符:IN和NOT IN;(4)字符串比較符:LIKE和NOT LIKE。還可以用多個(gè)AND,OR和NOT邏輯運(yùn)算符來連接多個(gè)條件[9]。
GROUP子句指定查詢的結(jié)果應(yīng)按字段名1進(jìn)行分組,附加條件可由HAVING中的函數(shù)表達(dá)式給出;
ORDER子句指定查詢結(jié)果應(yīng)按<字段>值進(jìn)行升序或降序排列[10-11]。
2.3利用Access的查詢語句進(jìn)行邏輯檢查
公益林?jǐn)?shù)據(jù)屬性因子之間有著一定的邏輯關(guān)系,如國家級公益林的森林類別必須是重點(diǎn)公益林,國家級公益林的保護(hù)等級必須填記等等,如果每條邏輯關(guān)系都一一去進(jìn)行人工排查,那工作量是很大的,所以利用Access查詢制作出統(tǒng)一的模板,每個(gè)調(diào)查單位要進(jìn)行檢查的時(shí)候?qū)氩樵兙涂梢灾苯影褯]有填記正確的記錄查找出來進(jìn)行修改[12]。
如國家級公益林的保護(hù)等級必須填記,地方公益林的保護(hù)等級無需填記,可以建立查詢?nèi)缦耓13]:
SELECT公益林小班面.縣代碼,公益林小班面.鄉(xiāng)代碼,公益林小班面.村代碼,公益林小班面.小班號,公益林小班面.事權(quán)等級,公益林小班面.保護(hù)等級FROM 公益林小班面WHERE(((公益林小班面.事權(quán)等級)=10)AND((公益林小班面.保護(hù)等級)Is Null Or(公益林小班面.保護(hù)等級)=0))OR(((公益林小班面.事權(quán)等級)=20)AND((公益林小班面.保護(hù)等級)Is Not Null));
其中,事權(quán)等級為10的是國家級公益林,20的是地方公益林,運(yùn)行后就檢查出國家級公益林保護(hù)等級沒有填記的和地方公益林保護(hù)等級不應(yīng)填保護(hù)等級的記錄,運(yùn)行后如圖2所示。
圖2 顯示查詢結(jié)果Fig.2 The query results
顯示出來的就是沒有滿足上述邏輯關(guān)系的記錄,可以直接在Access查詢出來的記錄上直接修改。利用此方法可以針對多個(gè)邏輯關(guān)系建立SELECT 查詢語句來進(jìn)行檢查。
2.4利用Access的查詢語句進(jìn)行統(tǒng)計(jì)
如果想進(jìn)行統(tǒng)計(jì),可以用SELECT語句,也可以用Access的數(shù)據(jù)透視表功能來進(jìn)行統(tǒng)計(jì)。如:要按照事權(quán)等級對數(shù)據(jù)進(jìn)行統(tǒng)計(jì),可以建立如下查詢[14]:
SELECT 公益林小班面.縣代碼,公益林小班面.事權(quán)等級,Sum(公益林小班面.面積)AS 面積之總計(jì)
FROM 公益林小班面
GROUP BY 公益林小班面.縣代碼,公益林小班面.事權(quán)等級;
運(yùn)行后如圖3所示。
圖3 顯示統(tǒng)計(jì)結(jié)果Fig.3 The statistical results
公益林?jǐn)?shù)據(jù)庫的數(shù)據(jù)量龐大,利用人工排查的方法耗時(shí)耗力,采用先進(jìn)高效的計(jì)算機(jī)數(shù)據(jù)庫技術(shù)可最大限度的節(jié)省人力、減少時(shí)間的浪費(fèi)。而Access易學(xué)易用、開發(fā)簡單,只要有基本的計(jì)算機(jī)操作能力的人,通過較短時(shí)間的學(xué)習(xí)應(yīng)用,就能掌握Access的基本操作,完成各種功能的設(shè)計(jì)[15]。利用SQL語句在Access數(shù)據(jù)庫中進(jìn)行查詢統(tǒng)計(jì)及其他特定要求的計(jì)算,可以快速準(zhǔn)確地完成數(shù)據(jù)庫邏輯關(guān)系檢查和數(shù)據(jù)統(tǒng)計(jì),極大地提高公益林?jǐn)?shù)據(jù)庫建設(shè)和最終統(tǒng)計(jì)的效率,該方法可以為各類林業(yè)專題數(shù)據(jù)庫的建立提供參考。
[1] 瞿有甜. 數(shù)據(jù)庫技術(shù)與應(yīng)用[M]. 杭州:浙江大學(xué)出版社,2010:2.
[2] 戴紅,張睿哲. 數(shù)據(jù)庫技術(shù)基礎(chǔ)[M]. 北京:機(jī)械工業(yè)出版社,2006:4.
[3] 王大龍. 基于VB程序和SQL Server數(shù)據(jù)庫的多條件模糊查詢的實(shí)現(xiàn)[J]. 電腦知識與技術(shù),2009,35(5):9904-9905.
[4] 孫寶林,崔洪芳. Access數(shù)據(jù)庫應(yīng)用技術(shù)[M]. 北京:清華大學(xué)出版社,2010:1.
[5] 崔洪芳,鄒瓊,邱月,等. Access數(shù)據(jù)庫應(yīng)用技術(shù)實(shí)驗(yàn)教程[M].(第二版). 北京:清華大學(xué)出版社,2013.
[6] 陳佛敏,金國念. Access 2007數(shù)據(jù)庫應(yīng)用教程[M]. 北京:人民郵電出版社,2013.
[7] 池建等. 精通ArcGIS地理信息系統(tǒng)[M]. 北京:清華大學(xué)出版社,2011:154-156.
[8] 薩師煊,王珊. 數(shù)據(jù)庫系統(tǒng)概論[M]. (第三版).北京:高等教育出版社,2000:115.
[9] 向瑜. SQL查詢語句—SELECT的使用技巧[J]. 中小企業(yè)管理與科技:下旬刊,2012(1):295-296.
[10] 邢泉. 含有全部值語義的sql查詢[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(1):169-170.
[11] 陳寧華. VB數(shù)據(jù)庫開發(fā)中的一些應(yīng)用技巧[J]. 福建信息技術(shù)教育,2007(2):25-27.
[12] Michael R. Groh,Joseph C. Stockman,Gavin Powell,et al. Access2007寶典[M]. 北京:人民郵電出版社,2008:409-410.
[13] 周瑞瓊,洪小楠. SQL數(shù)據(jù)庫管理系統(tǒng)中的模糊查詢技術(shù)[J]. 海南師范大學(xué)學(xué)報(bào):自然科學(xué)版,2009(2):153-156.
[14] 崔再惠. Access數(shù)據(jù)庫與SQL Server數(shù)據(jù)庫主要功能的比較[J]. 鞍山示范學(xué)院學(xué)報(bào),2009(6):51-52.
[15] 趙洪帥,林旺,陳立新. 數(shù)據(jù)庫基礎(chǔ)與Access應(yīng)用教程[M]. 北京:人民郵電出版社,2012.
(文字編校:楊 駿)
TheapplicationofAccessinthedatabaseofconstruction
ofpublicwelfareforest
CHEN Xingya
(Guizhou Forest Survey and Design Institute, Guiyang 550003, China)
The application of Access technique of database and its query function in the construction of public welfare forest in the database were briefly described in the paper.
public welfare forest; database of Access; SELECT sentence
2014-09-22
林業(yè)GIS協(xié)同服務(wù)構(gòu)建技術(shù)研究(黔林科合[2010]05)。
陳興亞(1980-),女,貴州省貴陽市人,本科,工程師,主要從事于數(shù)據(jù)庫技術(shù)研發(fā)應(yīng)用方面的工作。
TP 399;F 326.2
A
1003 — 5710(2014)06 — 0094 — 04
10. 3969/j. issn. 1003 — 5710. 2014. 06. 023