摘要:首先介紹了模糊查詢的兩種方法,簡單的模糊查詢方法和查詢條件為縮略語或簡稱的模糊查詢方法。重點闡述了在區域自動站數據查詢系統中實現模糊查詢的方法與技巧,提供了能實現真正模糊查詢的一個通用函數的解釋。
1. 引言
在區域自動站數據查詢系統中,查詢是一個很重要的內容。然而,在多數情況下人們不能準確知道作為查詢條件的字段內容,如:某字段內容為“銀川鎮北堡24小時內地面最高氣溫查詢 ”,查詢者可能只知道其簡稱“鎮北堡氣溫查詢”等,這時,為保證能查到滿足條件的數據記錄,只能進行模糊查詢。
2. 模糊查詢方法介紹
2.1 簡單的模糊查詢方法
利用比較操作符“=”進行模糊查詢 。先把SET EXACT的設置為OFF,這時,“=”用于兩個字符表達式之間作比較,其規則是:“=”右邊的字符逐個與“=”左邊相同位置的字符進行比較,只要遇到其中一個字符不相等,或者“=”右邊的字符表達式結束,比較操作就結束。
2.2 查詢條件為縮略語或簡稱的模糊查詢方法
縮略語或簡稱在地名、單位名稱中使用非常廣泛。通常,縮略語或簡稱是由全稱中的某些排列位置不連續的字符組成的,因此,通過設置不同長度的字符串進行比較的規則,或者利用包含比較符“$”,是不能對縮略語或簡稱進行模糊查詢的。
3. 模糊查詢在區域自動站數據查詢系統應用
3.1區域自動站數據查詢系統介紹
寧夏從建站到現在,已經建立了幾百個區域自動站了。這些站大大提高了氣象資料采集的時空密度,增強氣象服務的能力。但如此龐大的數據,如何有效的運用這些數據,充分發揮社會、經濟、生態效益是一個緊迫的任務。
區域自動站數據查詢系統是ASP.NET編寫的WEB程序,它運行在WINDOWS2003的IIS6的環境中。需要.net框架1.1以上支持。它的主要功能如下:全站數據上傳情況查詢、常規定時文件上傳統計、某月定時氣壓時序圖、單站氣象要素查詢 、全站氣象要素查詢 、缺測記錄查詢、報警記錄查詢、狀態信息查詢等。
3.2基于模糊查詢技術的區域自動站數據查詢系統的實現
利用比較操作符“=”進行模糊查詢 。例如區域自動站降水條件的查詢,降水包括很多,日降水量統計查詢,月降水量統計,旬降水量統計,年降水量統計,日降水量極值查詢,月降水量極值查詢,年降水量極值查詢等等。“降水量統計”=“日降水量統計查詢”, “降水量統計”=“月降水量統計查詢”, “降水量統計”=“年降水量統計查詢”, 的比較結果均為邏輯真(.T.)。可見,這種方法的模糊性是不能令人滿意的。 利用“$”進行包含比較,其模糊查詢的效果就比用“=”時好得多。
這種方法是在“$”右邊的字符表達式中查找“$”左邊的字符表達式,若找到返回邏輯真(.T.),否則返回邏輯假(.F.)。用這種方法只要“$”左邊的字符表達式的每一個字符在“$”右邊的字符表達式中存在且位置不間斷,查找就能成功。由此可見,直接利用“=”和“$”進行比較操作是不能太“模糊”的。
另外一種查詢條件為縮略語模糊查詢方法,利用包含比較符“$”,是不能對縮略語或簡稱進行模糊查詢的。這時可編寫一通用的自定義函數,將用戶輸入的查詢條件(字符串2)與字符型字段變量(字符串1)進行逐字比較,如果字符串2是字符串1的縮略語或簡稱,則返回邏輯真(.T.)否則返回邏輯假(.F.),從而實現模糊查詢。
下面就區域自動站數據查詢系統的一個通用查詢函數設計思想簡單介紹如下。查詢函數執行時可先接受二個參數──字符串1和字符串2。從字符串2的左邊開始取其第一、二個字符X1,用AT( )函數測試X1在字符串1中的位置S1,如果S1不為0,就將字符串1中包含X1以及左邊部分的字符截掉,并取字符串2中的第三、四個字符X2,用AT( )函數測試X2在字符串1的剩余部分中的位置S2,若S2不為0,就將字符串1的剩余部分中包含X2以及左邊部分的字符截掉……,直到將字符串2中的字符取完并在字符串1中測試完為止,最后本函數返回邏輯真(.T.)。在這個過程中只要有一次測試不成功(即Sn=0),則退出本函數并返回邏輯假(.F.)。因為一個漢字占二個ASCII字符,所以每次取二個相鄰字符進行測試(讓ZFBJ.PRG中的K=2)。這樣做,一是可以減少測試比較的次數,提高程序運行速度。二是當字符串2中含有數字、字母等半角字符時,可以減少滿足條件的記錄數目,提高查詢的命中率。然而,若查詢條件中含有英文縮寫,則每次只能取一個ASCII字符進行測試。
4. 結束語
模糊理論應用于數據庫的查詢,對人們日常生活中經常使用的外延不明確的概念進行模糊匹配查詢,拓寬了信息查詢的應用范圍,使得在不完整語義或歧義描述下可獲得較為完整的信息,進一步提高了關系數據庫的查詢功能。在實際系統開發中,對數據庫的模糊查詢具有較好的參考意義,也具有廣泛的應用前景。
參考文獻
【1】 楊綸標,高英儀.模糊數學原理與應用(第四版)華南理工大學出版社 2006
【2】 張森,韋明.數據庫的模糊查詢技術 電子與自動化2005 23~24
【3】 王佳宜,楊路明,謝東,等.關系數據庫上關鍵詞數字屬性模糊查詢研究[c].全國第18屆計算機技術與應用(CACIS)學術會議文集(Jk冊),2007:650~655
【4】 陳逸菲.基于模糊理論的關系數據庫查詢技術研究南京信息工程大學碩士論文,2005
相關論文