數(shù)據(jù)庫系統(tǒng)范文

時間:2023-03-30 20:30:05

導(dǎo)語:如何才能寫好一篇數(shù)據(jù)庫系統(tǒng),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

篇1

專欄作家:陳明,男,中國石油大學(xué)教授,博士生導(dǎo)師,特聘教授,研究方向為分布式并行計算、計算智能、軟件工程、大數(shù)據(jù)計算等,。

摘要:大數(shù)據(jù)的出現(xiàn)與不斷發(fā)展促進(jìn)了NoSQL數(shù)據(jù)庫技術(shù)的發(fā)展及其產(chǎn)品應(yīng)用,為大數(shù)據(jù)的存儲、傳輸與處理創(chuàng)造了生態(tài)環(huán)境。文章介紹NoSQL數(shù)據(jù)庫的產(chǎn)生過程、特點與潛力、存儲方式與分類以及目前常用的NoSQL數(shù)據(jù)庫系統(tǒng)。

關(guān)鍵詞:大數(shù)據(jù);NoSQL;非結(jié)構(gòu)化

半結(jié)構(gòu)化和非結(jié)構(gòu)化是大數(shù)據(jù)的重要特征之一,如何將數(shù)據(jù)組織成合理的結(jié)構(gòu)是大數(shù)據(jù)管理中的一個重要問題,也是一項重大技術(shù)挑戰(zhàn)。

1、NosQL的產(chǎn)生

出現(xiàn)于1998年的NoSQL是Carlo Strozzi開發(fā)的一個輕量、開源、不提供SQL功能的關(guān)系數(shù)據(jù)庫。在2009年,Johan Oskarsson發(fā)起了一次關(guān)于分布式開源數(shù)據(jù)庫的討論,來自Rackspace(全球三大云計算中心之一)的Eric Evans再次提出了NoSQL的概念,這時的NoSQL主要指非關(guān)系型、分布式、不提供ACID的數(shù)據(jù)庫設(shè)計模式。2009年在亞特蘭大舉行的no:sql(east)討論會是一個里程碑,會上對NoSQL最普遍的解釋是非關(guān)系型的,強(qiáng)調(diào)鍵—值對存儲和文檔數(shù)據(jù)庫的優(yōu)點,而不是單純的關(guān)系型數(shù)據(jù)庫。

NoSQL是Not Only SQL的簡寫,其含義是“不僅是結(jié)構(gòu)化查詢”,是不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)稱。NoSQL與SQL的最顯著的區(qū)別是NoSQL不使用SQL作為查詢語言,其數(shù)據(jù)存儲不需要固定的表格模式,也避免使用SQL的JOIN操作,具有水平可擴(kuò)展性。NoSQL的實現(xiàn)具有兩個特征,使用硬盤或者盡可能把隨機(jī)存儲器當(dāng)作存儲載體。

關(guān)系型數(shù)據(jù)庫中的表存儲的都是一些格式化的數(shù)據(jù)結(jié)構(gòu),每個元組字段的組成都一樣,即使每個元組都需要所有的字段,但從另一個角度來說它是導(dǎo)致關(guān)系型數(shù)據(jù)庫性能瓶頸的一個因素。而非關(guān)系型數(shù)據(jù)庫以鍵-值對存儲的結(jié)構(gòu)不固定,每一個元組可以有不一樣的字段,可以根據(jù)需要增加鍵-值對,這樣就不會局限于固定的結(jié)構(gòu),可以減少時間和空間的開銷。

NoSQL是水平可擴(kuò)展的數(shù)據(jù)庫。水平擴(kuò)展性指能夠連接多個軟硬件的特性,這樣可以將多個服務(wù)器從邏輯上看成一個實體。NoSQL主要用于大規(guī)模的非關(guān)系型數(shù)據(jù)存儲,具有模式自由、支持簡易復(fù)制、簡單的API、最終的一致性一(非ACID)、大容量數(shù)據(jù)等特性。除鍵-值對存儲方式外,NoSQL還有文檔存儲方式、列存儲方式、圖形存儲方式、XML存儲方式等。

2、NoSQL特點與潛力

CAP、BASE和最終一致性是NoSQL數(shù)據(jù)庫存在的3大基石。NoSQL存儲滿足了數(shù)據(jù)存儲的橫向伸縮性的需求。一些開源的NoSQL體系,如Facebook的Cassandra、Apache的HBase等都得到了廣泛認(rèn)同。

2.1 特點

(1)運行在PC服務(wù)器集群上。PC集群非常方便并且成本很低,避免了傳統(tǒng)商業(yè)數(shù)據(jù)庫共享操作的復(fù)雜性和高昂成本。

(2)突破了性能瓶頸。通過NoSQL架構(gòu)可以省去將Web或Java應(yīng)用和數(shù)據(jù)轉(zhuǎn)換成SQL格式的時間,執(zhí)行速度快。

(3)沒有過多的需求。雖然關(guān)系型數(shù)據(jù)庫提供了無可比擬的功能集合,而且在數(shù)據(jù)完整性上也絕對穩(wěn)定,但是企業(yè)的具體需求可能沒有那么復(fù)雜。

(4)支持者源于社區(qū)。因為NoSQL項目都是開源的,因此它們?nèi)狈?yīng)商提供的正式支持。與大多數(shù)開源項目一樣,NoSQL項目不得不從社區(qū)中尋求支持。

(5)彈性擴(kuò)展。NoSQL數(shù)據(jù)庫從設(shè)計之初就是為了利用新節(jié)點的優(yōu)勢進(jìn)行透明擴(kuò)展,通常在設(shè)計時就考慮使用低成本的廉價硬件。多年來,當(dāng)數(shù)據(jù)庫的負(fù)載增加時,技術(shù)上多采用“縱向擴(kuò)展”(安置更大型的服務(wù)器來承載增加的負(fù)載)而不是“橫向擴(kuò)展”(在多臺主機(jī)上分配增加的負(fù)載);但隨著交易率和可用性需求的增加,數(shù)據(jù)庫也正在遷移到云端或虛擬化環(huán)境中,橫向擴(kuò)展更為明顯。

(6)大數(shù)據(jù)量。為了滿足數(shù)據(jù)量增長的需要,關(guān)系數(shù)據(jù)庫的容量日益增加,單一數(shù)據(jù)庫需要管理的數(shù)據(jù)約束的數(shù)量也變得越來越大。通過NoSQL,系統(tǒng)能夠處理的數(shù)據(jù)量遠(yuǎn)超出了最大型的關(guān)系數(shù)據(jù)庫所能處理數(shù)據(jù)的極限,如Hadoop開源軟件處理的數(shù)據(jù)規(guī)模。

(7)靈活的數(shù)據(jù)模型。鍵-值對存儲與文檔存儲的NoSQL數(shù)據(jù)庫允許應(yīng)用任何結(jié)構(gòu),即使是定義更加嚴(yán)格的BigTable NoSQL數(shù)據(jù)庫通常也允許創(chuàng)建新的字段。

2.2 NoSQL的潛力

NoSQL數(shù)據(jù)庫除了具有靈活的可擴(kuò)展性和支持大數(shù)據(jù)量存儲外,與關(guān)系數(shù)據(jù)庫相比具有如下潛力。

(1)降低管理的要求。雖然關(guān)系數(shù)據(jù)庫在可管理性方面作出了很多改進(jìn);但是高端的關(guān)系數(shù)據(jù)庫系統(tǒng)維護(hù)費用仍然十分昂貴,而且還需要DBA參與高端的關(guān)系數(shù)據(jù)庫系統(tǒng)的設(shè)計、安裝和調(diào)優(yōu)。NoSQL數(shù)據(jù)庫從一開始就是為了降低管理方面的要求而設(shè)計的,從理論上來說,自動修復(fù)、數(shù)據(jù)分配和簡單的數(shù)據(jù)模型的確可以降低管理和調(diào)優(yōu)方面的要求。

(2)經(jīng)濟(jì)效率高。NoSQL數(shù)據(jù)庫通常使用廉價的服務(wù)器集群來管理數(shù)據(jù)和事務(wù)數(shù)量,而關(guān)系數(shù)據(jù)庫通常需要依靠昂貴的專用服務(wù)器和存儲系統(tǒng)來完成這項工作。使用NoSQL可使每GB的成本或每秒處理事務(wù)的成本都比使用關(guān)系數(shù)據(jù)庫少很多倍,即以花費更低的成本存儲和處理更多的數(shù)據(jù)。

(3)靈活的數(shù)據(jù)模型。對于大型的RDBMS來說,變更管理是一件很困難的事情。即使只對一個RDBMS的數(shù)據(jù)模型作很小的改動,也許還需要停機(jī)或降低服務(wù)水平。NoSQL數(shù)據(jù)庫在數(shù)據(jù)模型約束方面更為寬松,其中的鍵—值對數(shù)據(jù)庫和文檔數(shù)據(jù)庫可以讓應(yīng)用程序在一個數(shù)據(jù)元素中存儲任何結(jié)構(gòu)的數(shù)據(jù)。

3、NoSQL的主要類型

基于存儲方式的不同,可將NoSQL數(shù)據(jù)庫分為文檔式存儲、列式存儲、鍵-值式存儲、對象式存儲、圖形式存儲和XML存儲的NoSQL數(shù)據(jù)庫。表l所示的內(nèi)容就是各種典型的NoSQL數(shù)據(jù)庫產(chǎn)品,它們之間也有交叉,如TokyoCabinet/Tyrant的Table既可以劃為鍵-值式存儲類型,又可以理解為文檔型存儲類型。

NoSQL數(shù)據(jù)庫也可以按使用的不同語言類型進(jìn)行分類,有的NoSQL數(shù)據(jù)庫用C/C++編寫,有的用Java編寫,還有的用Erlang編寫,每種NoSQL數(shù)據(jù)庫都有獨到之處,用戶可以根據(jù)需要選擇使用。

3.1 文檔式存儲NoSQL

文檔存儲式NoSQL數(shù)據(jù)庫又簡稱文檔數(shù)據(jù)庫,其存儲的內(nèi)容為文檔型數(shù)據(jù),主要解決的問題不是集中于高并發(fā)讀寫操作,而是保證海量數(shù)據(jù)存儲,同時具有良好的查詢性能。存儲式NoSQL數(shù)據(jù)庫主要面向集合存儲:

(1)文檔相當(dāng)于關(guān)系數(shù)據(jù)庫中的一條記錄;

(2)多個文檔組成一個集合,集合相當(dāng)于關(guān)系數(shù)據(jù)庫的表;

(3)多個集合邏輯上組織在一起就是數(shù)據(jù)庫。

例如,文檔數(shù)據(jù)庫(MongoDB)中的一個文檔為:

3.2 鍵-值存儲式NoSQL

鍵-值存儲式NoSQL數(shù)據(jù)庫是最常用的NoSQL數(shù)據(jù)庫,它的數(shù)據(jù)以鍵-值的形式存儲,雖然它的處理速度非??欤旧现荒芡ㄟ^鍵的完全一致查詢來獲得數(shù)據(jù)?;跀?shù)據(jù)保存方式可分為臨時式、永久式和混合式3種。臨時式方式主要特點是:在內(nèi)存中保存數(shù)據(jù),數(shù)據(jù)有可能丟失,可以快速保存和讀取。永久式方式的主要特點是:在硬盤上保存數(shù)據(jù),數(shù)據(jù)不會丟失,可以快速保存和讀取,但速度比臨時式慢。混合式集中了前兩種方式的優(yōu)點,先將數(shù)據(jù)保存在內(nèi)存中,在滿足特定條件后將數(shù)據(jù)寫入硬盤,主要特點是:同時在內(nèi)存和硬盤上保存數(shù)據(jù),可以快速保存和讀取數(shù)據(jù),保存在硬盤上的數(shù)據(jù)不會丟失,適于處理數(shù)組類型的數(shù)據(jù)。鍵-值存儲式NoSQL數(shù)據(jù)庫按照鍵-值對的形式進(jìn)行組織、索引和存儲數(shù)據(jù)。鍵-值對存儲非常適合不涉及過多數(shù)據(jù)關(guān)系和業(yè)務(wù)關(guān)系的數(shù)據(jù),能有效減少讀寫磁盤的次數(shù),比SQL數(shù)據(jù)庫存儲擁有更好的讀寫性能,因為它不考慮值的存儲格式,直接用鍵值快速查詢到所需值。鍵-值存儲式NoSQL數(shù)據(jù)庫的主要特點是具有極高的并發(fā)讀寫性能,如BigTable是Google設(shè)計的分布式數(shù)據(jù)存儲系統(tǒng),是用來處理海量數(shù)據(jù)的一種非關(guān)系型數(shù)據(jù)庫。

3.3 列式存儲NoSQL

列式存儲NoSQL可以實現(xiàn)按列存儲數(shù)據(jù),最大的特點是方便存儲結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),方便數(shù)據(jù)壓縮,對于某一列或某幾列的查詢有非常大的I/O優(yōu)勢。

在列式存儲中,列簇(ColumnFamily)、超列(Super Column)和列(Column)是重要的概念。列簇和超列在數(shù)據(jù)庫中不占空間,也就是說如果它們沒有值,它們只占用0個字節(jié),列簇與傳統(tǒng)數(shù)據(jù)庫中的表類似,但和表又不一樣,在列簇中的唯一定義是名稱和鍵排序選項。

(1)列:列是一個由名稱、值和時間戳組成,可忽略時間戳,將前兩者當(dāng)作一個鍵—值對。

(2)超列:超列是一個字典,它是一個包含其他列的列,但不能包含另一個超列。

(3)列簇:—個列簇中的所有數(shù)據(jù)都將保存在相同的文件中,—個列簇可以容納多個超列或列。

3.4 對象式存儲NoSQL

對象式存儲NoSQL可以通過類似面向?qū)ο笳Z言的語法操作數(shù)據(jù)庫,通過對象的方式存取數(shù)據(jù)。

3.5 圖形式存儲NoSQL

圖形式存儲NoSQL是圖形關(guān)系的最佳存儲方式,如果使用傳統(tǒng)的關(guān)系數(shù)據(jù)庫來解決則帶來性能低的問題,而且設(shè)計也不方便。如AllegroGraph、DEX、Ne04J、FlockDB等數(shù)據(jù)庫都是NoSQL數(shù)據(jù)庫。

3.6 XML式存儲NoSQL

XIVIL存儲方式的NoSQL能夠高效存儲XML數(shù)據(jù),并支持XML內(nèi)部查詢語法。

4、NoSQL系列發(fā)展現(xiàn)狀

計算機(jī)體系結(jié)構(gòu)在數(shù)據(jù)存儲方面要求應(yīng)用架構(gòu)具備龐大的水平擴(kuò)展性,這是分布式系統(tǒng)的一個重要標(biāo)志。分布式系統(tǒng)設(shè)計遵循CAP定理,在一致性、可用性和分區(qū)容錯性3個核心需求不可全得,關(guān)系數(shù)據(jù)庫主要滿足一致性和可用性兩個核心需求,。特別是要求強(qiáng)一致性,主要是通過數(shù)據(jù)庫鎖或JTA/JDBC事務(wù)實現(xiàn),對于這種苛刻的一致性要求,很難實現(xiàn)分區(qū)容錯性;而NoSQL數(shù)據(jù)庫主要滿足可用性和分區(qū)容錯性兩個核心需求,在一致性方面采用了最終一致性,這是一種弱一致性。下面列舉幾種NoSQL數(shù)據(jù)庫。

4.1 Cassandra

Cassandra是一個云計算方面理想的數(shù)據(jù)庫。它集成了Solr等流行工具,現(xiàn)已成為一個完全成熟的大型數(shù)據(jù)存儲工具。Cassandra是一個混合型非關(guān)系型數(shù)據(jù)庫,類似于Google的BigTable。Cassandra是由多個數(shù)據(jù)庫節(jié)點共同構(gòu)成的一個分布式網(wǎng)絡(luò)服務(wù)系統(tǒng)。對Cassandra的一個寫操作將被復(fù)制到其他節(jié)點上去,而對Cassandra的讀操作也將被路由到某個節(jié)點上面去讀取。

4.2 Lucene/Solr

Lucene/Solr是一個開放源代碼的全文檢索引擎工具包。它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構(gòu),采用了與其他NoSQL數(shù)據(jù)存儲相似的模型。如果查詢并不是僅僅局限于精確匹配,而是尋找出那些出現(xiàn)在塊中的字或者字段,那么Lucene/Sok是最好的查詢手段。

4.3 Riak

Riak是由技術(shù)公司Basho開發(fā)的一個類似Dynamo的分布式鍵一值對系統(tǒng);具有分布式、水平擴(kuò)展性、高容錯性等特點。在Riak中,Map/Reduce函數(shù)只能使用JavaScript或者Erlang來編寫。該系統(tǒng)還為類似于Solr的搜索提供全文索引,同時還提供一個控制面板,可以查看集群信息。

4.4 GOUChDB

CouchDB是用Erlang開發(fā)的面向文檔的數(shù)據(jù)庫系統(tǒng),其數(shù)據(jù)存儲方式類似Lucene的index文件格式。CouchDB是一個面向Web應(yīng)用的新一代存儲系統(tǒng)。作為一個分布式的數(shù)據(jù)庫,CouchDB可以把存儲系統(tǒng)分布到多臺物理節(jié)點上,并且很好地協(xié)調(diào)和同步節(jié)點之間的數(shù)據(jù)讀寫一致性。CouchDB支持REST API,可以讓用戶。使用JavaScript來操作CouchDB數(shù)據(jù)庫。

4.5 Neo4J

Ne04J存儲的是對象之間的關(guān)系,或者說這種結(jié)構(gòu)就是數(shù)學(xué)中的圖。Ne04J是一個面向網(wǎng)絡(luò)的數(shù)據(jù)庫,即它是一個嵌入式的、基于磁盤的、具備完全的事務(wù)特性的Java持久化引擎,但是它將結(jié)構(gòu)化數(shù)據(jù)存儲在網(wǎng)絡(luò)上,而不是存儲在表中,當(dāng)然也可以把Ne04J看作是一個高性能的圖引擎,該引擎具有健壯的數(shù)據(jù)庫的所有特性。Ne04J包括很多有關(guān)搜索和分析的關(guān)系算法,利用這些圖的遍歷算法,可以減少指針查詢的開銷。

4.6 HBase

HBase(Hadoop Database)數(shù)據(jù)庫是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),可在廉價PC Server上構(gòu)建大規(guī)模結(jié)構(gòu)化存儲集群。HBase是開源軟件,與Google BigTa。ble類似,BigTable利用GFS作為其文件存儲系統(tǒng),而HBase利用I-IDFS作為其文件存儲系統(tǒng);Google運行MapReduce來處理BigTable中的海量數(shù)據(jù),HBase同樣利用Hadoop MapReduce來處理HBase中的海量數(shù)據(jù)。

4.7 BigTable/Accumulo/Hypertable

BigTable是非關(guān)系型數(shù)據(jù)庫,是一個稀疏的、分布式的、持久化存儲的多維度排序映射。BigTable能可靠處理PB級的數(shù)據(jù),并且能夠部署到上千臺機(jī)器上。BigTable具有適用性廣泛、可擴(kuò)展、高J陛能和高可用性。

4.8 BynamoDB

DynamoDB是亞馬遜的鍵一值對模式的存儲平臺,可用性和擴(kuò)展性都很好,讀寫訪問中99.9%的響應(yīng)時間都在300 ms內(nèi)。DynamoDB的NoSQL解決方案也是使用鍵一值對存儲的模式,并通過服務(wù)器把所有的數(shù)據(jù)存儲在SSD上的3個不同的區(qū)域。如果有更高的傳輸需求,DynamoDB也可以在后臺添加更多的服務(wù)器。

篇2

    一、前言

地方文獻(xiàn)是我國公共圖書館藏書建設(shè)的重要組成部分。這些出版物記載和反映了當(dāng)?shù)厣鐣l(fā)展的歷史進(jìn)程,是國家的重要資源和財富。目前,地方文獻(xiàn)工作在我國省市、自治區(qū)公共圖書館已受到普遍重視,許多館建立了地方文獻(xiàn)專藏,對文獻(xiàn)的收集、整理、報道和利用做了大量工作,為當(dāng)?shù)氐乃幕ㄔO(shè)發(fā)揮了積極的作用。但是,我國的地方文獻(xiàn)工作基本上還是沿用傳統(tǒng)的理論和方法,在各方面已遠(yuǎn)不能適應(yīng)當(dāng)今信息社會的要求。在今天新技術(shù)革命浪潮蓬勃興起的形勢下,公共圖書館的地方文獻(xiàn)工作怎樣才能適應(yīng)時代的需要這一重要課題,已歷史地擺在我們圖書館工作者的面前。我們認(rèn)為,面對新技術(shù)革命的挑戰(zhàn),地方文獻(xiàn)工作必須實現(xiàn)現(xiàn)代化,才能使傳統(tǒng)的地方文獻(xiàn)工作獲得新的發(fā)展,從而達(dá)到促進(jìn)地區(qū)出版物資源共享的目的?;谶@種認(rèn)識,我館在原有地方文獻(xiàn)工作的基礎(chǔ)上,開始用電腦建立地方文獻(xiàn)數(shù)據(jù)庫。經(jīng)過一年多的研制,該數(shù)據(jù)庫已初步建成并投入使用。為與國內(nèi)同行交流,本文對該數(shù)據(jù)庫系統(tǒng)作簡要介紹。

二、收錄范圍與文獻(xiàn)源

建立地方文獻(xiàn)數(shù)據(jù)庫,首先要明確收錄范圍和解決文獻(xiàn)源問題。對地方文獻(xiàn)的收錄范圍,我館前館長杜定友先生曾提出過著名的“史料、地方出版物和地方人士著述”三部分的論述。在杜定友先生的倡導(dǎo)下,我館致力于地方文獻(xiàn)的收集工作,建立了廣東地方文獻(xiàn)專藏。根據(jù)我館地方文獻(xiàn)的收集入藏情況,我們擬定了地方文獻(xiàn)數(shù)據(jù)庫收錄范圍的原則:

1.具有廣東地方特點,并有一定學(xué)術(shù)、史料價值的文獻(xiàn)資料(包括有地方特點的科技文獻(xiàn))。

2.反映本省人物(包括廣東籍知名人士以及在廣東有過影響的非廣東籍人士)生平、傳記、事跡的文獻(xiàn)資料。

3.有廣東地方特點的本省出版物和外省出版物。

4.廣東人士著述(擁有地方特點的文獻(xiàn)資料部分)。

對不予收錄的文獻(xiàn),也作了如下規(guī)定:             

1)雖是地方出版物,但內(nèi)容并無地方特點的文獻(xiàn)資料。

2)作者雖是廣東人士,但文獻(xiàn)內(nèi)容并無地方特點的著述。

3)無地方特點的科技文獻(xiàn)。

4)印刷質(zhì)量差,內(nèi)容貧乏的非正式出版物。

5)同收錄原則相悖的其它文獻(xiàn)資料。

具體的收錄范圍有24項。

地方文獻(xiàn)數(shù)據(jù)庫所收錄文獻(xiàn)的類型包括:專著,期刊、報紙、會議錄、匯編、學(xué)位論文、科技報告、專利文獻(xiàn)、手稿、地方志、族譜、檢索工具、參考工具、圖表、古籍等。其中檢索工具包括反映本省圖書館館藏的各種書目、文摘、聯(lián)合目錄;圖表包括地圖、氣象圖、地質(zhì)圖;參考工具包括年鑒、手冊等;專利文獻(xiàn)只限于本省單位和個人申請的國內(nèi)外專利;報紙限于本省出版報紙的目錄。

廣泛征集地方文獻(xiàn)資料,保證地方文獻(xiàn)數(shù)據(jù)庫有充足的文獻(xiàn)源,是建立地方文獻(xiàn)數(shù)據(jù)庫極為重要的一環(huán)。我館地方文獻(xiàn)工作,早在解放前即已引起重視。建國后,更加廣泛深入地開展了地方文獻(xiàn)的收集和整理工作。省人民政府曾先后發(fā)出三個關(guān)于地方文獻(xiàn)工作的文件,指定我館為全省地方文獻(xiàn)的征集工作機(jī)構(gòu)和收藏中心,要求各級人民政府和各企事業(yè)單位,將所出版的文獻(xiàn)資料無償向我館繳送二冊,這為征集地方文獻(xiàn)打下了良好的基礎(chǔ)。在全省各有關(guān)單位的大力協(xié)助下,經(jīng)過幾十年的努力,我館已逐步建立起擁有18萬冊,在海內(nèi)外有一定影響的廣東文獻(xiàn)專藏,形成了廣東文獻(xiàn)的收藏中心。這是建立地方文獻(xiàn)數(shù)據(jù)庫的基礎(chǔ)。

建立地方文獻(xiàn)數(shù)據(jù)庫,在確定收錄范圍的同時,還要認(rèn)真選擇和挖掘文獻(xiàn)源。因為地方文獻(xiàn)包括了反映當(dāng)?shù)貧v史和現(xiàn)狀的文獻(xiàn)資料,數(shù)量以萬計,內(nèi)容極為繁雜。圖書館應(yīng)該首先選擇利用率高,有一定學(xué)術(shù)和史料價值的文獻(xiàn)存貯進(jìn)電腦,其中科技文獻(xiàn)應(yīng)占有相當(dāng)?shù)谋壤?。這是時代的要求。因此,我館在建庫前對文獻(xiàn)源的選擇進(jìn)行了較深入的研究,最后決定從現(xiàn)代期刊入手,對符合收錄范圍的期刊論文進(jìn)行著錄標(biāo)引,然后輸入電腦。目前文獻(xiàn)的前處理工作正順利進(jìn)行,現(xiàn)已標(biāo)引出地方文獻(xiàn)資料8,000多篇,輸入電腦5,000篇。對于其它類型的文獻(xiàn)資料,今后將有計劃按步驟地進(jìn)行輸入,從而逐步建立起我省的地方文獻(xiàn)數(shù)據(jù)庫。

三、數(shù)據(jù)庫系統(tǒng)目標(biāo)與模式

作為地方性情報檢索系統(tǒng)的地方文獻(xiàn)數(shù)據(jù)庫,其總目標(biāo)是:收錄和存貯反映本省歷史和現(xiàn)狀的地方文獻(xiàn)資料目錄,編輯出版綜合性的地方文獻(xiàn)通報(書目)和各種專題的地方文獻(xiàn)目錄,為當(dāng)?shù)攸h政軍領(lǐng)導(dǎo)機(jī)關(guān)和各科研生產(chǎn)單位提供文獻(xiàn)檢索服務(wù);作為地方文獻(xiàn)的查目中心,將通過聯(lián)機(jī)網(wǎng)絡(luò)同當(dāng)?shù)氐闹饕獔D書情報部門聯(lián)網(wǎng),逐步實現(xiàn)地方文獻(xiàn)的聯(lián)機(jī)編目和檢索,從而促進(jìn)地區(qū)性的資源共享。

為了實現(xiàn)上述目標(biāo),我們根據(jù)本省的實際情況,為地方文獻(xiàn)數(shù)據(jù)庫設(shè)計了下述模式:

1.選擇具有良好漢字處理功能的遠(yuǎn)程通訊能力的微型電腦作為數(shù)據(jù)錄入工作站和脫機(jī)檢索系統(tǒng),這一系統(tǒng)配有完整的外部設(shè)備,可獨立進(jìn)行地方文獻(xiàn)書目數(shù)據(jù)的錄入、檢索和編輯出版地方文獻(xiàn)通報。對已輸入電腦的大量數(shù)據(jù),可轉(zhuǎn)貯到軟盤,為將來在中、大型電腦上建庫作好數(shù)據(jù)準(zhǔn)備。我館已購置了四套IBM5550中文電腦,其中一至二套用于地方文獻(xiàn)數(shù)據(jù)庫的建庫工作。

2.設(shè)置電腦聯(lián)機(jī)通訊線路,同當(dāng)?shù)赜嬎阒行牡闹?、大型機(jī)聯(lián)網(wǎng)。利用主權(quán)的計算機(jī)資源建立地方文獻(xiàn)數(shù)據(jù)庫,一般可存貯幾百萬篇的文獻(xiàn),從而為實現(xiàn)地方文獻(xiàn)書目數(shù)據(jù)的資源共享打下基礎(chǔ)。我館已同省計算中心達(dá)成協(xié)議,利用該中心引進(jìn)的IBM 4341主機(jī)建立地方文獻(xiàn)數(shù)據(jù)庫,并在86年二月成功地進(jìn)行了利用市內(nèi)話線聯(lián)機(jī)通訊的試驗,計劃在明年內(nèi)實現(xiàn)我館IBM5550同主機(jī)的聯(lián)網(wǎng)。

3.在本館購置中、小型主機(jī)后,將進(jìn)一步完善地方文獻(xiàn)數(shù)據(jù)庫系統(tǒng),在省、市領(lǐng)導(dǎo)機(jī)關(guān)和主要科研機(jī)構(gòu)設(shè)置檢索終端,并同當(dāng)?shù)氐闹饕獔D書情報部門聯(lián)網(wǎng),進(jìn)行聯(lián)機(jī)編目和檢索,從而使地方文獻(xiàn)數(shù)據(jù)庫真正達(dá)到資源共享的目的。

4.把電腦同縮微技術(shù)結(jié)合起來,實現(xiàn)地方文獻(xiàn)資料的全文檢索。我館準(zhǔn)備在條件具備時,購置一套16毫米的縮微拍攝設(shè)備,用于拍攝地方文獻(xiàn)資料。在數(shù)據(jù)庫中檢索命中的文獻(xiàn),可根據(jù)其文獻(xiàn)號,在縮微閱讀機(jī)上獲得原文。

在我省有關(guān)部門的大力支持下,經(jīng)過全館同志的努力,廣東地方文獻(xiàn)數(shù)據(jù)庫的系統(tǒng)目標(biāo)正在逐步實現(xiàn)。目前,在IBM 5550微機(jī)上已實現(xiàn)了以下功能:

1)地方文獻(xiàn)書目數(shù)據(jù)的錄入與存貯。針對地方文獻(xiàn)具有多種類型的特點,本數(shù)據(jù)庫根據(jù)國家文獻(xiàn)著錄標(biāo)準(zhǔn),設(shè)置了多種文獻(xiàn)類型的自動格式識別程序,不但提供了完善的人機(jī)對話錄入和修改方式,而且能夠?qū)︿浫氲臅繑?shù)據(jù)自動進(jìn)行著錄格式的自動識別,從而使書目數(shù)據(jù)達(dá)到標(biāo)準(zhǔn)化的要求。

2)編輯和打印綜合性檢索刊物《廣東文獻(xiàn)通報》。該刊物以及時報道我館新入藏地方文獻(xiàn)為宗旨,兩月出版一期。每期通報正文約70頁,按《中圖法》分類體系排列,并附有地區(qū)索引,方便縣、市圖書館、檔案館等有關(guān)單位從地區(qū)途徑查找文獻(xiàn)。從86年五月起,至今已出版文獻(xiàn)通報六期及通報的年度累積索引一冊。

3)自動編目功能,數(shù)據(jù)庫系統(tǒng)可根據(jù)輸入的地方文獻(xiàn)書目數(shù)據(jù),自動生成數(shù)據(jù)庫倒排文檔,供文獻(xiàn)檢索之用。另外,還可根據(jù)指定的專題,編制各種類型的地方文獻(xiàn)專題書目,以及編制地方文獻(xiàn)的累積本。

4)文獻(xiàn)檢索功能。因受1BM 5550系統(tǒng)外存的限制,目前數(shù)據(jù)庫的存貯容量為25,000篇文獻(xiàn)。如將外存擴(kuò)大到40MB,數(shù)據(jù)庫容量將可擴(kuò)大到10萬篇。在此范圍內(nèi),用戶可從篇名、著者、分類、主題、地名等五個途徑進(jìn)行聯(lián)機(jī)檢索,并允許用多個主題詞或多個檢索途徑進(jìn)行組配,以提高檢準(zhǔn)率。輸出結(jié)果既可在屏幕顯示,也可以用打印機(jī)輸出。

5)詞表管理功能。數(shù)據(jù)庫系統(tǒng)可對地方文獻(xiàn)標(biāo)引詞表、地名表和機(jī)內(nèi)分類表進(jìn)行插入、修改、刪除等項操作,并提供編輯打印詞表的功能。目前我館已編制出《地方文獻(xiàn)標(biāo)引詞表》、《廣東省地名表》和《地方文獻(xiàn)數(shù)據(jù)庫分類表》。

6)地方文獻(xiàn)征集和標(biāo)引管理功能。數(shù)據(jù)庫能為地方文獻(xiàn)中的連續(xù)性出版物建立檔案,并有催索、記到、裝訂以及標(biāo)引管理等功能,可以對地方文獻(xiàn)征集和標(biāo)引實現(xiàn)科學(xué)管理。

除了上述功能外,我們計劃在87年上半年前,為該數(shù)據(jù)庫增加MARC機(jī)讀目錄生產(chǎn)、遠(yuǎn)程聯(lián)機(jī)通訊等程序,使數(shù)據(jù)庫的各種功能進(jìn)一步完善。

四、數(shù)據(jù)庫的設(shè)計與實現(xiàn)

本數(shù)據(jù)庫系統(tǒng)使用IBM5550高檔微機(jī)作處理機(jī),其主要技術(shù)性能指標(biāo)為:主機(jī)內(nèi)存512-640KB,15英寸高分辨度顯示器、24針漢字打印機(jī)和鍵盤各一臺,可配8.1或20MB硬盤及5.25英寸軟盤各一臺。操作系統(tǒng)為IBM5550中文DOS(由MS-DOS演變而來),配有BASIC、COBOL、PASCAL、TORTRAN以及宏匯編等程序設(shè)計語言,還有dBASE2.0、DBASE3.0、SORT/MERGE、CWP、WORDSTAR、LOTUS 1-2-3等軟件。該機(jī)具有良好的多語種處理功能(中、英、日、俄均可處理)和遠(yuǎn)程聯(lián)機(jī)通訊能力。屏幕顯示和打印輸出字形美觀。根據(jù)上述計算機(jī)資源的特點和省級公共圖書館地方文獻(xiàn)工作的業(yè)務(wù)流程,我們首先進(jìn)行了數(shù)據(jù)庫的總體設(shè)計。該數(shù)據(jù)庫分為文獻(xiàn)庫、期刊庫、詞表庫三大部分:文獻(xiàn)庫實現(xiàn)各種地方文獻(xiàn)資料目錄的存貯和檢索(包括打?。?;征集庫實現(xiàn)連續(xù)出版物(包括圖書)的征集管理;詞表庫實現(xiàn)廣東地方文獻(xiàn)標(biāo)引詞表的管理。所有程序在總控程序的調(diào)度下分塊進(jìn)入內(nèi)存運行。

總體設(shè)計方案確定后,使用什么語言實現(xiàn)?開始我們考慮用DBASE3.0。但后來經(jīng)模擬試驗和論證,發(fā)現(xiàn)dBASE3.0用于開發(fā)文獻(xiàn)型的數(shù)據(jù)庫系統(tǒng)并不理想,原因是(1)記錄字段不能適應(yīng)書目數(shù)據(jù)可變長的特點;(2)不能使用數(shù)組,而且程序變量限于128個,響應(yīng)速度慢;(3)如作組配檢索一般要幾十秒的等待時間;(4)難以實現(xiàn)人機(jī)對話方式的檢索,即在檢索過程中無法修改檢索策略?;谏鲜鲈?,我們決定用編譯BASIC進(jìn)行系統(tǒng)開發(fā)。在開發(fā)的過程中,盡可能采用自頂向下、分塊實現(xiàn)、逐步求精等行之有效的軟件開發(fā)技術(shù),僅用了四個多月的時間,就完成了程序的設(shè)計和調(diào)試。經(jīng)過半年多的試運行,根據(jù)暴露出的問題,我們又對程序作了較大修改,形成了第2版本。目前該系統(tǒng)的源程序共有4,000多行,17個運行模塊(占260KB)。以下對本數(shù)據(jù)庫的文件結(jié)構(gòu)和主要算法作簡要介紹:

(一)文獻(xiàn)庫

文獻(xiàn)庫的任務(wù)是通過書目控制字段實現(xiàn)書目控制;按國家標(biāo)準(zhǔn)錄入和存貯文獻(xiàn)記錄;編輯和打印各種書目;提供多途徑的文獻(xiàn)檢索手段。文獻(xiàn)庫共設(shè)置了書目控制文件、主數(shù)據(jù)文件和倒排文件。

1)書目控制文件—該文件采用雜湊隨機(jī)文件結(jié)構(gòu),每個記錄由書目記錄控制關(guān)鍵字、文獻(xiàn)地址和沖突鏈組成(見圖1)。每個記錄的控制關(guān)鍵字,首先考慮用ISBN號(我國今年出版的圖書開始使用該號)。對沒有該號的圖書文獻(xiàn),采用下述方法取號:

①整本文獻(xiàn)和非書資料,用:題名首字符+著者末字符+地區(qū)代碼+出版年+頁數(shù)。

②析出文獻(xiàn)用錄入號(即系統(tǒng)分配的順序號)。

書目控制關(guān)鍵字的取號要求是唯一性較為方便。本系統(tǒng)通過該文件將可對所有輸入數(shù)據(jù)庫的書目記錄進(jìn)行控制,實現(xiàn)快速查找或修改。

2)主數(shù)據(jù)文件—該文件采用固定長記錄可變長字段的隨機(jī)文件結(jié)構(gòu),記錄長256字節(jié)。如有數(shù)據(jù)溢出,溢映部分將存入溢出文件中。本系統(tǒng)將所有書目數(shù)據(jù)劃分為3種類型:整本文獻(xiàn)、析出文獻(xiàn)和非書資料。每種類型的字段雖有不同,但可存貯于同一數(shù)據(jù)文件中,通過文獻(xiàn)類型代碼進(jìn)行識別。為便于新數(shù)據(jù)的處理,本系統(tǒng)又將主數(shù)據(jù)文件分為新書文件和數(shù)據(jù)庫主文件兩種。新錄入的數(shù)據(jù)暫存于新書文件中,待打印出文獻(xiàn)通報和地區(qū)索引后,再合并入數(shù)據(jù)庫主文件。數(shù)據(jù)庫主文件的記錄是按文獻(xiàn)通報的順序號排列的。主數(shù)據(jù)文件的記錄字段考慮了同國家機(jī)讀目錄的一致性,在必要的時候可通過一個格式轉(zhuǎn)換程序,把書目數(shù)據(jù)的系統(tǒng)內(nèi)部格式轉(zhuǎn)換為標(biāo)準(zhǔn)格式,以利于資源共享。本系統(tǒng)的書目記錄輸出,采用了漢字取整裝配技術(shù),并按國家文獻(xiàn)著錄標(biāo)準(zhǔn)在各著錄項目中加入分隔符號。

3)數(shù)據(jù)庫倒排文件---該文件采用二級索引結(jié)構(gòu):第一級是雜湊隨機(jī)文件,每記錄分為前鏈和后鏈兩個字段。第二級是順序隨機(jī)文件,每記錄分為文獻(xiàn)地址和后鏈兩個字段。這樣,一級索引作為檢索入口指向二級索引,二級索引通過每個記錄的后鏈集中了相關(guān)文獻(xiàn),通過文獻(xiàn)地址就能查得所需文獻(xiàn)。圖2為示意圖。采用這種文件結(jié)構(gòu)的文獻(xiàn)檢索算法如下:

①接收一個檢索表達(dá)式KEYS

②生成提問表(即把表達(dá)式中的關(guān)鍵字存入檢索比較工作區(qū))

③生成檢索邏輯尺

④根據(jù)工作區(qū)中元素的映射地址(雜湊)取出前鏈R

⑤從R指示地址在二級索引中取出真正的文獻(xiàn)地址后鏈L

⑤按B指示地址在主數(shù)據(jù)文件中讀出一個書目記錄

⑦將該記錄同工作區(qū)元素作字符串比較,得到其文獻(xiàn)邏輯值

⑧文獻(xiàn)邏輯值同檢索邏輯尺作比較,符合者為命中文獻(xiàn)

⑨判L等于零?是則檢索結(jié)束,否則LR,轉(zhuǎn)⑤

我們認(rèn)為,這種以二級索引文件結(jié)構(gòu)為基礎(chǔ),用雜湊映射作為快速尋址,用邏輯尺進(jìn)行二次精確檢索的算法,是一個新穎有效的算法。同時,在索引中僅存貯指針,可比傳統(tǒng)的索引文件節(jié)省75%的空間。本系統(tǒng)首次檢索的響應(yīng)時間均低于2秒,二次檢索的響應(yīng)時間則因檢索式的復(fù)雜程度而有不同程度的減慢。

 

(二)詞表庫

詞表庫的任務(wù)是對存貯在機(jī)內(nèi)的地方文獻(xiàn)標(biāo)引詞表進(jìn)行查詢和管理。本系統(tǒng)詞表文件可分為主表和付表文件,主表存貯正式標(biāo)引詞,付表存貯同義詞。為了實現(xiàn)首詞集中和快速查詞的目的,還設(shè)置了詞表入口文件。圖3為示意圖。

1)詞表入口文件--該文件為映射隨機(jī)文件,每記錄僅存第一個標(biāo)引詞的地址,通過該詞第一個漢字的ASCLLI碼映射尋址。

2)主表文件--該文件為隨機(jī)文件,每記錄由標(biāo)引詞字段和后鏈組成。通過后鏈便可查到首字相同的所有標(biāo)引詞。

3)付表文件--該文件為順序文件,用于存貯正式標(biāo)引詞的同義詞。

本系統(tǒng)通過上述文件結(jié)構(gòu)和算法,已在機(jī)內(nèi)建立了擁有4,000多個標(biāo)引詞的詞庫,實現(xiàn)了標(biāo)引詞快速查找、首詞集中顯示、標(biāo)引詞擴(kuò)檢與縮檢、同義詞參見和詞表打印等功能。

(三)征集庫

征集庫的任務(wù)是建立地方文獻(xiàn)連續(xù)出版物檔案,實現(xiàn)征集工作的現(xiàn)代化管理。征集庫的文件主要有刊號控制文件、現(xiàn)刊管理文件、期刊主文件、記到數(shù)據(jù)文件。

1)刊號控制文件---該文件用于存貯每種廣東期刊的刊號(包括郵局刊號和內(nèi)部期刊登記號),對數(shù)據(jù)庫的期刊進(jìn)行控制,其結(jié)構(gòu)為雜湊隨機(jī)文件。每記錄有刊號和文獻(xiàn)地址兩個字段。

2)現(xiàn)刊管理文件---該文件用于存貯每種期刊的刊名、刊號、索取號、出版單位、地址、裝訂周期等管理數(shù)據(jù),其結(jié)構(gòu)為順序隨機(jī)文件。

3)期刊主文件---該文件用于存貯每種期刊的基本著錄事項。每記錄長256字節(jié),溢出部分存入溢出文件。

4)記到數(shù)據(jù)文件---用于存貯每種期刊的記到數(shù)據(jù),每種刊作為一個邏輯記錄,采用二維數(shù)組結(jié)構(gòu)。該文件以年為單位存貯數(shù)據(jù),即每年生成一個記到文件。

以上文件的每個記錄均存在映射關(guān)系,即每種期刊記錄在不同文件中的地址是一致的。只要在刊號控制文件中查得某刊的地址,就可在各個文件中訪問有關(guān)記錄。由于我們采取了合理的文件結(jié)構(gòu),因而能使系統(tǒng)適應(yīng)期刊經(jīng)常發(fā)生的創(chuàng)刊、合刊、增刊、???、改刊期、改刊名、改發(fā)行方式等動態(tài)變化,有較強(qiáng)的實用性。這點對于地方文獻(xiàn)征集工作的電腦化管理是至關(guān)重要的。

五、地方文獻(xiàn)的著錄與標(biāo)引

為了達(dá)到資源共享的目的,地方文獻(xiàn)的著錄與標(biāo)引也必須實現(xiàn)標(biāo)準(zhǔn)化。我館在建立地方文獻(xiàn)數(shù)據(jù)庫的過程中,對地方文獻(xiàn)的著錄和標(biāo)引的標(biāo)準(zhǔn)化十分重視,采取了下面的一些做法:

1.在進(jìn)行數(shù)據(jù)庫總體設(shè)計的同時,請本館有豐富文獻(xiàn)工作經(jīng)驗的同志組成科研課題組,起草制定了《文獻(xiàn)標(biāo)引員手冊》。該手冊對數(shù)據(jù)庫的收錄范圍、文獻(xiàn)著錄標(biāo)引工作細(xì)則、文獻(xiàn)通報編制體例等都作了規(guī)定。從而為文獻(xiàn)著錄標(biāo)引工作的標(biāo)準(zhǔn)化奠定了基礎(chǔ)。

2.在建庫前,對文獻(xiàn)標(biāo)引員進(jìn)行業(yè)務(wù)考核,選擇工作責(zé)任心強(qiáng),經(jīng)過圖書館專業(yè)培訓(xùn),有三年以上圖書館工作經(jīng)驗,并有一定文獻(xiàn)工作實踐的同志擔(dān)任文獻(xiàn)標(biāo)引員。

3.印制地方文獻(xiàn)書目數(shù)據(jù)錄入工作單,要求文獻(xiàn)標(biāo)引員根據(jù)國家文獻(xiàn)著錄標(biāo)準(zhǔn)進(jìn)行著錄,并按錄入單格式進(jìn)行填寫。這樣可以減少因不熟悉著錄格式而產(chǎn)生的錯誤。

4.標(biāo)引員標(biāo)引的數(shù)據(jù)錄入單,由數(shù)據(jù)庫文獻(xiàn)工作組最后審核定稿。審核的內(nèi)容包括:著錄文獻(xiàn)的選題、著錄的格式、分類和主題標(biāo)引。在實踐中我們感到,標(biāo)引文獻(xiàn)的審核,對提高數(shù)據(jù)庫的文獻(xiàn)質(zhì)量,有著十分重要的作用,因此,應(yīng)由有較高業(yè)務(wù)水平的同志負(fù)責(zé)把關(guān),并注意保持文獻(xiàn)標(biāo)引人員隊伍的相對穩(wěn)定。

5.?dāng)?shù)據(jù)庫書目數(shù)據(jù)均采用《中圖法》分類體系。對同一文獻(xiàn)的多個主題,盡量采取了組配方式生成分類號,以便充分發(fā)揮電腦多途徑檢索的優(yōu)勢。

6.以《漢語主題詞表》為基礎(chǔ),根據(jù)地方文獻(xiàn)的特點編制文獻(xiàn)標(biāo)引詞表?!稘h語主題詞表》是一部綜合性的文獻(xiàn)標(biāo)引工具,收詞多而廣泛。但由于《漢語主題詞表》的編制是從全國范圍的通用性來考慮的,對標(biāo)引地方獨特事物,便缺乏實用性。因此,我們在力求使用詞表中正式主題詞的同時,根據(jù)地方文獻(xiàn)標(biāo)引的需要,使用了許多“表外詞”,有些地方,還對詞表的規(guī)定作了一些變動。這可以從兩方面來說明:

1)由于新概念的大量涌現(xiàn),詞表未及收入的新學(xué)科、新事物的新名詞,現(xiàn)已形成可描述的敘詞,例如:“經(jīng)濟(jì)法”、“經(jīng)濟(jì)糾紛”、“體制改革”、“第三產(chǎn)業(yè)”、“信息業(yè)”、“港元”……等等。它們在文獻(xiàn)中出現(xiàn)的頻率很高,但沒有合適的直接上位詞可用,也沒有合適的概念接近的詞可用,我們就把這些詞作為正式詞使用。

2)由于地方文獻(xiàn)的特性需要,常常為綜合性大型詞表所難以照應(yīng),如名勝、古跡這一范疇內(nèi),就只列了“圓明園”等15個詞,其中除“黃鶴樓”“孔廟”等詞外,多數(shù)是北京地區(qū)的名勝古跡,這確實是不合用也不夠用的。對這類情況我們作了一些調(diào)整。如詞表規(guī)定,“東江縱隊”、“瓊崖操隊”統(tǒng)用“華南抗日游擊隊”,也就是以上位概念取代具體事物,這從全國范圍的檢索需要來看可能是合理的。但從本地區(qū)出發(fā),“東縱”和“瓊縱”卻是專指性極強(qiáng)的詞。這兩支革命武裝有各自不同的歷史、活動地區(qū)、代表人物文獻(xiàn)量又很大。因此,我們改變“用”、“代”關(guān)系,不用“華南抗日游擊隊”,而直接用“東江縱隊”、“瓊崖縱隊”。有些類似情況而文獻(xiàn)量不大的,則采用直接上位詞做正式主題詞,加地方特有事物的關(guān)鍵詞,以“,”號倒置。如“寺廟,華南寺”、“寺廟,光孝寺”、“刺繡,廣繡”、“刺繡,潮繡”等?!?,”號后的關(guān)鍵詞,僅起限定和說明的作用,不參加累積索引的輪排,也不作為檢索入口。凡地方事物、事件、人物而沒有相應(yīng)的主題詞的,如:“黃埔軍?!?、“丘逢甲”等等,則一律標(biāo)關(guān)鍵詞。我們對這些使用過的關(guān)鍵詞,也注意了規(guī)范。

六、結(jié)束語

篇3

關(guān)鍵詞:計算機(jī);數(shù)據(jù)庫;信息管理;應(yīng)用

1 數(shù)據(jù)庫系統(tǒng)的發(fā)展

數(shù)據(jù)庫的英文是Database,其可以被看做是一個大的倉庫,對數(shù)據(jù)進(jìn)行儲存、管理以及組織。數(shù)據(jù)庫在對數(shù)據(jù)進(jìn)行處理時是按照數(shù)據(jù)的結(jié)構(gòu)出發(fā)的。數(shù)據(jù)庫是第五次信息革命的產(chǎn)物,產(chǎn)生于上個世紀(jì)60年代。

數(shù)據(jù)庫經(jīng)過幾十年的發(fā)展,已經(jīng)日漸的成熟,因此有很多的種類,包括:db2、oracle等,這些數(shù)據(jù)庫的功能非常的強(qiáng)大。我們可以對數(shù)據(jù)庫信息模型的發(fā)展進(jìn)行階段劃分,一般是3個階段:(1)第一個階段是網(wǎng)狀層次數(shù)據(jù)庫系統(tǒng)。(2)第二個階段是關(guān)系型數(shù)據(jù)庫系統(tǒng)。(3)第三個階段即是以面向?qū)ο竽P蜑樘卣鞯臄?shù)據(jù)庫系統(tǒng)。

網(wǎng)狀層次數(shù)據(jù)庫系統(tǒng)的產(chǎn)生時間是上個世紀(jì)的70年代,是由美國數(shù)據(jù)庫系統(tǒng)語言協(xié)助旗下的一個研究組分明的,此外還有IBM公司的加入合作。在經(jīng)過這兩個機(jī)構(gòu)的研究之后,網(wǎng)狀模型數(shù)據(jù)庫系統(tǒng)變產(chǎn)生了。

關(guān)系型數(shù)據(jù)庫系統(tǒng)。該數(shù)據(jù)庫系統(tǒng)可以完成對關(guān)系數(shù)據(jù)模型的支持,也是由大量的關(guān)系數(shù)據(jù)結(jié)構(gòu)組成的,這也是其命名的由來。關(guān)系型數(shù)據(jù)庫系統(tǒng)可以支持一下操作:數(shù)據(jù)完整性、關(guān)系操作以及數(shù)據(jù)結(jié)構(gòu)等。

以面向?qū)ο竽P蜑樘卣鞯臄?shù)據(jù)庫系統(tǒng)。該系統(tǒng)可以完成對多種數(shù)據(jù)模型的支持,例如:關(guān)系模型以及面向?qū)ο蟮哪P?。此外,該系統(tǒng)還可以和新生的技術(shù)進(jìn)行結(jié)合,比如:多媒體技術(shù)、人工智能技術(shù)、處理技術(shù)以及計算技術(shù)等,因此應(yīng)用的領(lǐng)域也就會更加的廣泛。

數(shù)據(jù)庫在經(jīng)過長時間的發(fā)展之后,技術(shù)越來越成熟。信息管理的內(nèi)容在不斷的增加,因此數(shù)據(jù)模型的種類也在不斷的更新,比如:半結(jié)構(gòu)化模型以及面向?qū)ο竽P偷?。此外,新技術(shù)也在不斷的涌現(xiàn),例如:數(shù)據(jù)流、Web數(shù)據(jù)管理以及數(shù)據(jù)挖掘技術(shù)等。目前的學(xué)術(shù)界也對數(shù)據(jù)庫進(jìn)行不斷的深入研究,未來數(shù)據(jù)庫系統(tǒng)的發(fā)展會更加的成熟。

2 數(shù)據(jù)庫的存在對信息管理的作用

信息技術(shù)和市場都在不斷的發(fā)展,因此數(shù)據(jù)的管理也出現(xiàn)了新的要求。傳統(tǒng)的數(shù)據(jù)管理僅僅是對數(shù)據(jù)進(jìn)行存儲和管理,而新的形勢下信息管理的要求更高,需要對數(shù)據(jù)進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化為用戶需要的類型。信息的存儲不再是簡單的存儲,而是要進(jìn)行海量存儲。對于一個企業(yè)來說,在日常的管理中需要將有關(guān)的數(shù)據(jù)存放到“倉庫”之中。此外,還要從管理的要求出發(fā),開展對應(yīng)的處理。

將數(shù)據(jù)庫應(yīng)用到信息管理中,其效果是明顯的,直觀的,更是高效的。我們可以對數(shù)據(jù)庫進(jìn)行整合,主要有以下幾個方面:(1)可以實現(xiàn)數(shù)據(jù)的共享。(2)數(shù)據(jù)具有獨立性。(3)對數(shù)據(jù)進(jìn)行集中的控制。(4)數(shù)據(jù)的冗余度會大幅度的降低。(5)可以方便的對數(shù)據(jù)進(jìn)行維護(hù),令數(shù)據(jù)保持一致性,因此就會讓數(shù)據(jù)處于一種安全和可靠的環(huán)境之中。(6)具有錯誤恢復(fù)功能??梢?,將數(shù)據(jù)庫應(yīng)用到信息管理中不僅可以對數(shù)據(jù)實施科學(xué)性以及現(xiàn)代化的管理,更可以提高信息管理的效率和質(zhì)量,因此這對企業(yè)和單位的管理工作來說是一個有效的工具,是一個福音。

3 計算機(jī)數(shù)據(jù)庫系統(tǒng)在信息管理中的應(yīng)用現(xiàn)狀

數(shù)據(jù)庫于上個世紀(jì)70年代誕生于美國,經(jīng)過幾十年的發(fā)展越來越成熟,已經(jīng)成為國家經(jīng)濟(jì)發(fā)展的科技進(jìn)步的一個重要的工具。在數(shù)據(jù)庫的作用下,信息化的進(jìn)程在不斷的加快,企業(yè)的管理工作也在不斷的提高。據(jù)有關(guān)部門的統(tǒng)計,目前我國的數(shù)據(jù)庫數(shù)量已經(jīng)達(dá)到1038個。

當(dāng)前計算機(jī)數(shù)據(jù)庫系統(tǒng)在信息管理中的應(yīng)用現(xiàn)狀主要包括:(1)數(shù)據(jù)庫應(yīng)用領(lǐng)域和應(yīng)用范圍不斷擴(kuò)大。(2)安全性、兼容性、易用性不斷增強(qiáng)。(3)數(shù)據(jù)庫技術(shù)不斷發(fā)展進(jìn)步。(4)受重視程度不斷提高。

4 數(shù)據(jù)庫系統(tǒng)未來發(fā)展趨勢

社會處于高速的發(fā)展之中,大量的信息涌現(xiàn),因此我們的數(shù)據(jù)庫技術(shù)也要跟上時代的要求,進(jìn)行不斷的更新。而未來數(shù)據(jù)庫系統(tǒng)的發(fā)展要求是:方便靈活、容量加大以及智能化。因此,未來數(shù)據(jù)庫系統(tǒng)的發(fā)展趨勢主要有以下幾個方面:(1)用戶的管理成本降低。成本的降低依賴于自動化的管理,比如:自動的休整、自動的修復(fù)以及監(jiān)控。(2)可以支持XML語言。(3)對數(shù)據(jù)庫進(jìn)行引擎的整合。

5 結(jié)束語

以上的分析來自于筆者的實踐和理論的鉆研,這些關(guān)于計算機(jī)數(shù)據(jù)庫系統(tǒng)在信息管理中的應(yīng)用的探討可能有些粗略。數(shù)據(jù)庫系統(tǒng)的應(yīng)用越來越廣泛,已經(jīng)深入到企業(yè)、政府、學(xué)校等單位的信息管理中,發(fā)揮著重要的作用。相信,未來的數(shù)據(jù)庫系統(tǒng)會更便捷、安全、更智能。

[參考文獻(xiàn)]

[1]雋軍利,李天燕,王小龍.淺析計算機(jī)數(shù)據(jù)庫系統(tǒng)在信息管理中的應(yīng)用[J].科技創(chuàng)新導(dǎo)報,2011(12).

[2]王子芳.數(shù)據(jù)庫及應(yīng)用課程教學(xué)探討[J].西南農(nóng)業(yè)大學(xué)學(xué)報(社會科學(xué)版),2010(23)

篇4

關(guān)鍵詞:醫(yī)院 數(shù)據(jù)庫 系統(tǒng)安全 防范

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2012)08-0167-01

醫(yī)院是一個特殊的行業(yè),不管醫(yī)院的數(shù)據(jù)怎樣運行都不能夠妨礙到醫(yī)院的職責(zé)和運行。近些年來,電子信息技術(shù)在醫(yī)院得到廣泛的應(yīng)用,它是對醫(yī)院臨床數(shù)據(jù)記錄,并且是以后科研工作的重要參考數(shù)據(jù)[1]。然而面對越來越多的數(shù)據(jù)記錄,醫(yī)院的數(shù)據(jù)庫系統(tǒng)安全也越來越得到人們的重視,醫(yī)院數(shù)據(jù)庫系統(tǒng)防侵入的研究是迫在眉睫要考慮的問題,它對醫(yī)院的臨床治療以及科研提供充分重要的數(shù)據(jù)。

醫(yī)院的信息系統(tǒng)能夠安全穩(wěn)定的運行,離不開后臺數(shù)據(jù)庫的穩(wěn)定以及安全。它對醫(yī)院信息系統(tǒng)的后臺數(shù)據(jù)庫進(jìn)行了各種邏輯保護(hù)的同時,數(shù)據(jù)庫的管理安全性也是不可忽視的方面。

1、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全分析

在醫(yī)院的信息系統(tǒng)后臺,數(shù)據(jù)信息是整個醫(yī)院信息系統(tǒng)的靈魂,它的安全性至關(guān)重要,數(shù)據(jù)庫管理系統(tǒng)是保證醫(yī)院數(shù)據(jù)庫系統(tǒng)能夠有效的查詢、保存以及分析的基礎(chǔ)。數(shù)據(jù)能夠合法的訪問數(shù)據(jù)庫和安全的存儲相關(guān)信息,以及跟蹤監(jiān)視數(shù)據(jù)庫都有訪問的權(quán)限,應(yīng)該能夠?qū)崿F(xiàn):(1)數(shù)據(jù)查詢、建立數(shù)據(jù)表以及在存儲過程當(dāng)中執(zhí)行的權(quán)限要清楚;(2)數(shù)據(jù)庫管理系統(tǒng)提供口令識別以及用戶名,并且還能夠行使各種權(quán)限的審計、控制以及數(shù)據(jù)加密等等管理措施;(3)建立系統(tǒng)審計,記錄數(shù)據(jù)庫服務(wù)器本身的使用情況和系統(tǒng)級命令的使用情況;(4)建立用戶審計,并且能夠記錄每次操作時候的用戶詳細(xì)資料;(5)數(shù)據(jù)庫權(quán)限的劃分清晰,如:資源管理權(quán)限和登錄權(quán)限以及數(shù)據(jù)庫管理權(quán)限等等。

醫(yī)院想要良好的開展數(shù)據(jù)庫系統(tǒng)安全工作,就要從實際出發(fā),對風(fēng)險進(jìn)行評估,并且研究數(shù)據(jù)庫系統(tǒng)面臨的威脅和風(fēng)險以及存在的漏洞和缺陷等等,而對于有可能存在的風(fēng)險以及漏洞要制定相關(guān)有效的策略。

2、醫(yī)院數(shù)據(jù)庫安全維護(hù)辦法

2.1 加強(qiáng)對數(shù)據(jù)軟件的保護(hù)

為了能夠?qū)︶t(yī)院數(shù)據(jù)軟件進(jìn)行保護(hù),通常有以下途徑。(1)加強(qiáng)對系統(tǒng)數(shù)據(jù)的管理:通常情況下往往采用的是更換管理員口令的方式對系統(tǒng)數(shù)據(jù)進(jìn)行管理,防止系統(tǒng)賬號被非法用戶盜用之后私自竄入系統(tǒng)當(dāng)中對數(shù)據(jù)庫造成一定的威脅[2]。于此同時,也要限制對網(wǎng)絡(luò)安全的開放。雖然構(gòu)建網(wǎng)絡(luò)的主要目的就是為了能夠?qū)崿F(xiàn)信息共享,但是因為醫(yī)院的部分?jǐn)?shù)據(jù)有一定的重要性,所以為了能夠徹底的確保數(shù)據(jù)的安全,通過設(shè)置用戶權(quán)限的方式來對系統(tǒng)的管理進(jìn)行加強(qiáng)。還要通過對不同職務(wù)有不同的使用權(quán)限進(jìn)行設(shè)置,因為醫(yī)院的分工不同所以每個職員的職能也不盡相同,所以根據(jù)職員的工作類別以及辦公所需要的系統(tǒng)模塊對相應(yīng)的人員進(jìn)行系統(tǒng)的授權(quán),這樣不僅能夠有效的提高數(shù)據(jù)庫系統(tǒng)的安全,還能夠?qū)φ麄€醫(yī)院的工作人員進(jìn)行醫(yī)療數(shù)據(jù)共享;(2)數(shù)據(jù)備份管理:通過網(wǎng)絡(luò)設(shè)備對系統(tǒng)數(shù)據(jù)進(jìn)行備份,系統(tǒng)通過已經(jīng)設(shè)定好的程序在對數(shù)據(jù)庫不關(guān)閉的情況下聯(lián)機(jī)備份數(shù)據(jù)庫到網(wǎng)絡(luò)設(shè)備,然后再通過從服務(wù)器上執(zhí)行后臺任務(wù)來實現(xiàn)無人值守的自動化設(shè)備實現(xiàn)數(shù)據(jù)的備份。在備份數(shù)據(jù)的選擇上可以選用性能穩(wěn)定以及價格低廉光盤來作為數(shù)據(jù)的載體,這樣就可以滿足數(shù)據(jù)安全長時間的保存。與此同時,還要盡快妥善的對已經(jīng)備份的數(shù)據(jù)進(jìn)行管理,將備份好的數(shù)據(jù)放在不同的機(jī)房和地區(qū),以免發(fā)生意外對系統(tǒng)產(chǎn)生一定的影響。

2.2 安全硬件技術(shù)

使用安全的硬件技術(shù)作為數(shù)據(jù)庫的安全保證,硬件設(shè)備以及網(wǎng)絡(luò)技術(shù)是醫(yī)院系統(tǒng)能夠正常運行的保障,也是維護(hù)數(shù)據(jù)庫安全的重要前提條件。所以,醫(yī)院網(wǎng)絡(luò)設(shè)備的選擇和網(wǎng)絡(luò)系統(tǒng)的設(shè)計都要充分的考慮到經(jīng)濟(jì)性、技術(shù)的先進(jìn)性以及便捷性。數(shù)據(jù)庫服務(wù)器是整個網(wǎng)絡(luò)的心臟,它的性能高低將直接影響到整個系統(tǒng)的運行速率,所以要做好充分的篩選工作。工作站能夠得到本地化的處理,而且還能夠減少網(wǎng)上數(shù)據(jù)傳輸造成的問題,杜絕病毒的入侵。另外,對服務(wù)器的環(huán)境和UPS設(shè)備也要進(jìn)行監(jiān)督管理,為了能夠確保系統(tǒng)的正常運行,保持服務(wù)器的溫度、濕度以及無塵環(huán)境至關(guān)重要。將服務(wù)器的濕度保持在45%~75%治安,溫度應(yīng)該控制在(21±3)℃左右,相對來說無塵環(huán)境下能夠?qū)τ布谋Wo(hù)起到一定的作用。

2.3 健全醫(yī)院系統(tǒng)的管理制度

(1)完善工作站的管理監(jiān)督制度,工作站的監(jiān)管要記錄系統(tǒng)人員每次開、關(guān)機(jī)的時間以及系統(tǒng)的運行狀況和管理人員上網(wǎng)操作的具體內(nèi)容等等。此外,還要建立數(shù)據(jù)庫的日常管理制度小組,杜絕人為原因所造成的數(shù)據(jù)破壞。(2)為了能夠規(guī)范服務(wù)器的管理,可以制定和利用服務(wù)器日志來記錄每天對服務(wù)器的操作如:服務(wù)器停止以及使用的會見記錄、網(wǎng)絡(luò)設(shè)備檢查記錄以及數(shù)據(jù)庫的日志維護(hù)記錄等等。與此同時還要對服務(wù)器的網(wǎng)絡(luò)設(shè)備進(jìn)行檢查,確保系統(tǒng)的順利運行[3]。(3)對數(shù)據(jù)庫網(wǎng)絡(luò)的故障要完善,因為醫(yī)院的網(wǎng)絡(luò)系統(tǒng)需要全天候的運行,如果因為其中的某一個環(huán)節(jié)出現(xiàn)錯誤都會對醫(yī)院的正常運營產(chǎn)生較大的影響,所以要做好醫(yī)院系統(tǒng)網(wǎng)絡(luò)的應(yīng)急處理預(yù)案,同時定期或不定期的對醫(yī)院的職工進(jìn)行系統(tǒng)使用的培訓(xùn),提高職工對系統(tǒng)的操作技能以及提高職工對數(shù)據(jù)安全的認(rèn)識。

3、結(jié)語

總而言之,隨著我國醫(yī)院網(wǎng)絡(luò)化辦公的日益普及,醫(yī)院的數(shù)據(jù)庫儲存的患者的治療、診斷以及檢查等方面的信息,是患者的隱私更是醫(yī)院重要的數(shù)據(jù)資料。然而,醫(yī)院信息系統(tǒng)核心的數(shù)據(jù)庫安全也成為現(xiàn)階段管理層的主要問題[4]。醫(yī)院管理人員和操作人員要一起努力,不斷提高安全管理意識和風(fēng)險管理意識,共同確保醫(yī)院數(shù)據(jù)庫系統(tǒng)安全可靠的運行。

參考文獻(xiàn)

[1]孫希奕,陳衛(wèi)林,董玉梅,鐘建明.基于分布式數(shù)據(jù)庫技術(shù)的醫(yī)院信息管理系統(tǒng)的研究[J].計算機(jī)光盤軟件與應(yīng)用,2011,12(3):1147-1149.

[2]陳凌平,金愛蘭,宋凱,劉軍杰.醫(yī)院信息化觀潮——給醫(yī)院信息化一個理由,給醫(yī)院信息化一個支撐,給醫(yī)院信息化一個未來[J].醫(yī)院信息系統(tǒng)安全與管理建設(shè)淺談,2009(14):357-360.

篇5

關(guān)鍵字:面向?qū)ο蠹夹g(shù);面向?qū)ο髷?shù)據(jù)庫系統(tǒng);類;數(shù)據(jù)庫;面向?qū)ο竽P?/p>

1 引言

數(shù)據(jù)庫技術(shù)是計算機(jī)技術(shù)研究中最為重要的方向之一。經(jīng)過幾十年的發(fā)展,成熟的關(guān)系型數(shù)據(jù)庫被廣泛地應(yīng)用于各個社會領(lǐng)域。但是,現(xiàn)實社會的復(fù)雜多變性以及各種應(yīng)用要求的提高,導(dǎo)致信息在數(shù)量和結(jié)構(gòu)上都遠(yuǎn)超傳統(tǒng)數(shù)據(jù)庫的承受范圍。1990年高級DBMS功能委員會提倡的面向?qū)ο蟮臄?shù)據(jù)模型,就是要把面向?qū)ο蟮姆椒ê蛿?shù)據(jù)庫技術(shù)結(jié)合起來,以使數(shù)據(jù)庫系統(tǒng)的分析、設(shè)計最大程度地與人們對客觀世界的認(rèn)識保持一致。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(Object-oriented Database)是為了滿足新一代數(shù)據(jù)庫的應(yīng)用需要而產(chǎn)生的新型數(shù)據(jù)庫系統(tǒng)。

2 面向?qū)ο髷?shù)據(jù)庫概述

2.1面向?qū)ο髷?shù)據(jù)模型

與其他數(shù)據(jù)模型一樣,面向?qū)ο蟮臄?shù)據(jù)模型也包括:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分,但是其在這三個方面的表現(xiàn)形式和實現(xiàn)方式與傳統(tǒng)的關(guān)系模型都有很大的區(qū)別。

面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)是通過對象和類這兩個基本要素,借助封裝、繼承和組合機(jī)制建立起來的復(fù)雜結(jié)構(gòu),而數(shù)據(jù)操作時通過方法和消息來實現(xiàn)的。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)支持面向?qū)ο髷?shù)據(jù)模型(簡稱OODM),即面向?qū)ο髷?shù)據(jù)庫系統(tǒng)是一個持久的、可共享的對象庫的存儲和管理者[1]。OODM是用面向?qū)ο笥^點來描述現(xiàn)實世界實體(對象)的邏輯組織、對象間限制、聯(lián)系等的模型。對象與對象標(biāo)識、屬性、行為、類、類層次、消息、持久性等核心概念構(gòu)成了OODM的基礎(chǔ) [2]。

2.2面向?qū)ο髷?shù)據(jù)庫的特點與優(yōu)勢

面向?qū)ο蟪绦蛘Z言操縱的是對象,所以面向?qū)ο髷?shù)據(jù)庫(簡稱OODB)的一個優(yōu)勢是面向?qū)ο笳Z言程序員在做程序時,可直接以對象的形式存儲數(shù)據(jù)[4]。對象數(shù)據(jù)模型有以下特點:

(1)使用對象數(shù)據(jù)模型將客觀世界按語義組織成由各個相互關(guān)聯(lián)的對象單元組成的復(fù)雜系統(tǒng) [5]。對象可以定義為對象的屬性和對象的行為描述,對象間的關(guān)系分為直接和間接關(guān)系。(2)語義上相似的對象被組織成類,類是對象的集合,對象只是類的一個實例[6],通過創(chuàng)建類的實例實現(xiàn)對象的訪問和操作。(3) 對象數(shù)據(jù)模型具有“封裝”、“繼承”、“多態(tài)”等基本概念[7]。(4) 方法實現(xiàn)類似于關(guān)系數(shù)據(jù)庫中的存儲過程,但存儲過程并不和特定對象相關(guān)聯(lián),方法實現(xiàn)是類的一部分。(5) 實際應(yīng)用中,面向?qū)ο髷?shù)據(jù)庫可以實現(xiàn)一些帶有復(fù)雜數(shù)據(jù)描述的應(yīng)用系統(tǒng),如時態(tài)和空間事務(wù)、多媒體數(shù)據(jù)管理等。

除此之外,上述特點導(dǎo)致面向?qū)ο髷?shù)據(jù)庫具有豐富的數(shù)據(jù)類型,因此能夠表達(dá)復(fù)雜嵌套對象,在復(fù)雜對象上獲得良好的性能。數(shù)據(jù)庫與程序設(shè)計語言的類型系統(tǒng)和操作方的統(tǒng)一,消除了數(shù)據(jù)庫中的阻抗不匹配問題,擴(kuò)展了數(shù)據(jù)庫系統(tǒng)的應(yīng)用領(lǐng)域,并提高了應(yīng)用系統(tǒng)的質(zhì)量和開發(fā)人員的工作效率。

3 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)及發(fā)展

3.1 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)

面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)包括了關(guān)系數(shù)據(jù)庫管理系統(tǒng)的全部功能,只是在面向?qū)ο蟓h(huán)境中增加了一些新內(nèi)容,其中有一些是關(guān)系數(shù)據(jù)庫管理系統(tǒng)所沒有的。面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(C/S即客戶/服務(wù)器結(jié)構(gòu))主要由以下五個子系統(tǒng)組成[8]

3.2 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的發(fā)展

自20世紀(jì)80年代來,OODBS的發(fā)展經(jīng)歷了主要三個階段:(1)實驗室原型階段,很多原型產(chǎn)品于80年代末在實驗室完成,它們大都具有較新的思路和大膽的設(shè)計但卻缺乏實際應(yīng)用的考驗,代表產(chǎn)品有工業(yè)界Vbase和Orien等,學(xué)術(shù)界的Gemstone等;(2)初期商業(yè)化產(chǎn)品階段,80年代末至90年代初,所推出的產(chǎn)品均具有面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)的基本特色和實際運用的能力,為OODBMS占領(lǐng)市場起了重大作用,但仍有許多缺陷;(3)成熟產(chǎn)品階段,20世紀(jì)90年代中期至今,OODBMS的商業(yè)化趨于成熟,產(chǎn)品如Object Store、Ontos、O2、Jasmin等。

4 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的重要技術(shù)及應(yīng)用

4.1.數(shù)據(jù)庫轉(zhuǎn)換技術(shù)

由于關(guān)系數(shù)據(jù)庫在當(dāng)今數(shù)據(jù)庫應(yīng)用領(lǐng)域處于主導(dǎo)地位,而面向?qū)ο髷?shù)據(jù)庫如果要滿足更高一級數(shù)據(jù)庫要求,實現(xiàn)異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)庫模式和操作的轉(zhuǎn)換是一個關(guān)鍵研究課題。數(shù)據(jù)庫轉(zhuǎn)換技術(shù)包括數(shù)據(jù)模式技術(shù)和數(shù)據(jù)操作轉(zhuǎn)換技術(shù),轉(zhuǎn)換時要保證一致性(對象語義和動作信息在轉(zhuǎn)換過程中不丟失)。

4.2模式演進(jìn)技術(shù)

OODB的類為適應(yīng)需求變化而隨時間變化稱為模式演進(jìn),包括創(chuàng)建新類、刪除舊類、修改類屬性和操作等模式演進(jìn)必須保持模式一致性(模式自身內(nèi)部不能有矛盾),這由模式一致性約束描述。模式一致性約束分為唯一性約束、存在性約束和子類型約束等,滿足所有這些一致性約束的模式稱為一致模式。模式演化是面向?qū)ο髷?shù)據(jù)庫研究重點與難點,實現(xiàn)途徑一般有兩種:模式改變考慮現(xiàn)有應(yīng)用程序使二者相互集成和適應(yīng);開發(fā)新的高級數(shù)據(jù)庫編程語言。

4.3視圖類實現(xiàn)技術(shù)

面向?qū)ο髷?shù)據(jù)庫中很多操作(如統(tǒng)計、連接查詢和視圖操作)都能自由訪問數(shù)據(jù)庫數(shù)據(jù),這些操作益于實現(xiàn)視圖操作及降低復(fù)雜度并提高效率,但易破壞對象封裝性。為了不破壞對象封裝性,必須對面向?qū)ο髷?shù)據(jù)庫的核心模型進(jìn)行擴(kuò)充,在對象中設(shè)計一組接口,系統(tǒng)通過這組接口完成視圖操作,這樣會增加對象復(fù)雜性和面向?qū)ο髷?shù)據(jù)庫系統(tǒng)設(shè)計難度,因此需要對這些接口實行標(biāo)準(zhǔn)化?;谏鲜鰲l件,設(shè)計相應(yīng)類數(shù)據(jù)結(jié)構(gòu)和操作則可實現(xiàn)OODBS視圖操作。

4.4 OODBS事務(wù)管理技術(shù)

OODBS事務(wù)管理子系統(tǒng)包括死鎖管理器、鎖管理器、恢復(fù)管理器和日志管理器幾個部分。相比傳統(tǒng)RDBS,OODBS加鎖具如下特點:①加鎖單位是對象而不是類;②給類對象加鎖比給關(guān)系對象加鎖需更多信息;③當(dāng)類實例被加鎖時,其父類也被加鎖。OODBS采用粗粒度加鎖具有很高的并行性,加鎖的一般是對象,若某一事務(wù)要訪問同一類多數(shù)實例,則對整個類加鎖,保證可靠性又降低系統(tǒng)開鎖代價。另外,OODBS還具有恢復(fù)機(jī)制,其中包括多媒體日志恢復(fù)和索引頁日志恢復(fù)兩種。多媒體日志恢復(fù)是指OODBS把多媒體數(shù)據(jù)和其描述部分分開,后者通過對象標(biāo)識符引用前者。若創(chuàng)建多媒體數(shù)據(jù)事務(wù)失敗,則置空描述部分引用并復(fù)位。索引頁日志恢復(fù)的方法有兩種:一是分裂索引頁的插入操作,系統(tǒng)把當(dāng)前索引頁一半表項分給新頁,除拷貝的表項外其余都記錄在日志中,發(fā)生故障時則去掉整個新頁;二是合并索引頁的刪除操作,系統(tǒng)把當(dāng)前索引頁表項拷貝到新頁,除了從當(dāng)前頁刪除的表項外其余都記錄在日志中,發(fā)生故障時則重新使用當(dāng)前頁。

4.5面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的應(yīng)用

面向?qū)ο髷?shù)據(jù)庫的產(chǎn)生主要是為了解決“阻抗失配”,它強(qiáng)調(diào)高級程序設(shè)計語言與數(shù)據(jù)庫的無縫連接。無縫連接即假設(shè)不使用數(shù)據(jù)庫,而使用某種編程語言編寫一個程序,可以基本不經(jīng)任何改動地將它作用于數(shù)據(jù)庫,即可以用編程語言透明訪問數(shù)據(jù)庫,就好像數(shù)據(jù)庫根本不存在一樣,所以也有人把面向?qū)ο髷?shù)據(jù)庫理解為語言的持久化。

面向?qū)ο蠓椒ňC合了在關(guān)系數(shù)據(jù)庫中發(fā)展的全部工程原理,以及系統(tǒng)分析、軟件工程和專家系統(tǒng)領(lǐng)域的內(nèi)容,符合一般人的思維規(guī)律,將現(xiàn)實世界分解成明確的對象。系統(tǒng)設(shè)計人員用OODBMS創(chuàng)建的計算機(jī)模型能更直接反映客觀世界,使得非計算機(jī)專業(yè)人員的最終用戶也可以通過這些模型理解和評述數(shù)據(jù)庫系統(tǒng)。這些都是傳統(tǒng)數(shù)據(jù)庫所缺乏的,正因為如此,OODBS更能在新興應(yīng)用領(lǐng)域中發(fā)揮作用。這些領(lǐng)域集中在以下幾個方向:(1)工程應(yīng)用領(lǐng)域:此領(lǐng)域(如CAD/CAM)涉及到的數(shù)據(jù)種類多,操作和數(shù)據(jù)間涉及的關(guān)系都極為復(fù)雜,由于面向?qū)ο髷?shù)據(jù)庫實現(xiàn)了無縫連接,能夠支持非常復(fù)雜的數(shù)據(jù)模型,從而特別適用于工程設(shè)計領(lǐng)域;(2)多媒體應(yīng)用領(lǐng)域:由于多媒體中數(shù)據(jù)種類很多,他們之間有復(fù)雜的聯(lián)系使之成為一個整體,在多媒體領(lǐng)域這些要求也能在面向?qū)ο髷?shù)據(jù)庫中得到解決;(3)集成應(yīng)用領(lǐng)域:隨著計算機(jī)越來越集成,系統(tǒng)也跟著越發(fā)復(fù)雜,這要求多種應(yīng)用的集成需要一個能適應(yīng)不同應(yīng)用要求的結(jié)構(gòu)模型;(4)傳統(tǒng)應(yīng)用領(lǐng)域:近年來商業(yè)、事務(wù)處理的需求發(fā)生了很大的變化,而面向?qū)ο髷?shù)據(jù)庫很能適應(yīng)這些新的變化,因此在傳統(tǒng)領(lǐng)域面向?qū)ο髷?shù)據(jù)庫也有著重要的應(yīng)用市場。

5 面向?qū)ο髷?shù)據(jù)庫存在的問題及解決方法初步探討

5.1 面向?qū)ο髷?shù)據(jù)庫存在的問題

面向?qū)ο髷?shù)據(jù)庫技術(shù)可望成為繼關(guān)系數(shù)據(jù)庫技術(shù)之后的新一代數(shù)據(jù)管理技術(shù)。盡管目前已有大量的研究開發(fā)工作,有一些可支持的面向?qū)ο髷?shù)據(jù)庫系統(tǒng),但面向?qū)ο髷?shù)據(jù)庫的成熟仍有存在許多亟待解決的問題:

(1)實現(xiàn)復(fù)雜性問題:在實現(xiàn)復(fù)雜性和思維復(fù)雜性問題上,面向?qū)ο竽P秃完P(guān)系模型之間存在很大差距――關(guān)系模型構(gòu)造集合以及在集合基礎(chǔ)上發(fā)展出來的關(guān)系,對一個有數(shù)學(xué)基礎(chǔ)的人而言其操作語義顯然有思維簡潔性,對計算機(jī)而言,關(guān)系運算可以遞歸并具有能行性的,計算簡潔;而對面向?qū)ο竽P投?,其思想主要是控制流為主?dǎo),也就是通過對象的行為,指引數(shù)據(jù)的傳遞。比如在服務(wù)驅(qū)動的分布式系統(tǒng)中,如SOA,其數(shù)據(jù)是用XML描述的,但由于其交互性,以及消息扮演的控制流的角色,導(dǎo)致用面向?qū)ο蟮膫鬟f信息方式不能發(fā)揮作用,所以在數(shù)據(jù)庫的流程和運算上,OODB并不占優(yōu)勢。

(2)理論支持問題:面向?qū)ο髷?shù)據(jù)庫,并沒有嚴(yán)格的理論支持。雖然對象間的關(guān)系有聚合、組合、關(guān)聯(lián)、繼承登,但這些并不是理論,而是實踐結(jié)果。不能從理論上推導(dǎo)出這些關(guān)系,也就無法實現(xiàn)出支持這些關(guān)系的對象數(shù)據(jù)庫。

(3)模型復(fù)雜度問題:由于模型較為復(fù)雜(而且缺乏數(shù)學(xué)基礎(chǔ)),使得很多系統(tǒng)管理功能難以實現(xiàn)(如權(quán)限管理),也不具備SQL處理集合數(shù)據(jù)的強(qiáng)大能力。

(4)性能問題:由于面向?qū)ο髷?shù)據(jù)庫中數(shù)據(jù)被存放在許多地方,因此,有效對象聚集是性能好壞的關(guān)鍵因素。面向?qū)ο髷?shù)據(jù)庫技術(shù)要想能取代傳統(tǒng)的數(shù)據(jù)庫技術(shù),性能改善是必不可少的。

5.2 解決方法初步探討

就目前面向?qū)ο髷?shù)據(jù)庫而言,它與關(guān)系數(shù)據(jù)庫之間的比較并不同與上世紀(jì)70年代關(guān)系數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫間不能共存的關(guān)系。而現(xiàn)在面向?qū)ο髷?shù)據(jù)庫的興起是在肯定關(guān)系數(shù)據(jù)庫在處理數(shù)據(jù)簡潔性,適合商務(wù)用途的基礎(chǔ)上的,它是對關(guān)系數(shù)據(jù)庫的補充,例如工程和多媒體應(yīng)用。

在一些不需要很強(qiáng)大計算能力的場所,例如配置一些信息等非業(yè)務(wù)數(shù)據(jù)時,可想而知,面向?qū)ο髷?shù)據(jù)庫將成為下一代數(shù)據(jù)庫的典型代表,并與關(guān)系數(shù)據(jù)庫系統(tǒng)并存。它們將在不同的應(yīng)用領(lǐng)域支持不同的應(yīng)用需求。

對象數(shù)據(jù)庫需要快速索引能力,以從龐大的數(shù)據(jù)集中抽取數(shù)據(jù)。在這方面做得比較好的關(guān)系型數(shù)據(jù)庫使用位圖索引技術(shù),但數(shù)據(jù)一旦更新,這些索引就需要重新建立。因為這個原因,很少有對象數(shù)據(jù)庫有這個功能。如果能把關(guān)系數(shù)據(jù)庫的索引技術(shù)經(jīng)過一定的手段嵌套在對象數(shù)據(jù)庫中,對象數(shù)據(jù)庫的性能將能得到進(jìn)一步的提高。

對于標(biāo)準(zhǔn)化,這應(yīng)該是面向?qū)ο髷?shù)據(jù)庫發(fā)展的當(dāng)務(wù)之急。早日形成關(guān)于對象關(guān)系的理論,形成一種類似與SQL語言的標(biāo)準(zhǔn),對廠商加強(qiáng)約束力和實行指導(dǎo)作用,這對當(dāng)下對象數(shù)據(jù)庫的發(fā)展具有顯著意義。

6 結(jié)束語

面向?qū)ο蠹夹g(shù)是近年來計算機(jī)技術(shù)界研究的熱點,而面向?qū)ο蠓椒ㄅc先進(jìn)的數(shù)據(jù)庫技術(shù)相結(jié)合已成為當(dāng)今數(shù)據(jù)庫領(lǐng)域研究和發(fā)展的主要方向之一。面向?qū)ο髷?shù)據(jù)庫經(jīng)過較長時間的發(fā)展,已經(jīng)取得一些關(guān)鍵的進(jìn)展:業(yè)內(nèi)對面向?qū)ο髷?shù)據(jù)庫的核心概念逐步取得了共同的認(rèn)識,其標(biāo)準(zhǔn)化的工作正在進(jìn)行中;隨著核心技術(shù)逐步解決,工具正在開發(fā),面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)正在走向?qū)嵱秒A段。

面向?qū)ο髷?shù)據(jù)庫技術(shù)對復(fù)雜對象既要有極強(qiáng)的表達(dá)和建模能力,又要有很強(qiáng)的存儲和管理能力,這正是傳統(tǒng)數(shù)據(jù)庫技術(shù)面向復(fù)雜工程數(shù)據(jù)所難以勝任的關(guān)鍵技術(shù)。但由于面向?qū)ο竽P捅旧砉逃械囊恍┨卣?,業(yè)內(nèi)對面向?qū)ο髷?shù)據(jù)庫性能和形式化理論的擔(dān)憂仍然存在??傊?,數(shù)據(jù)庫系統(tǒng)發(fā)展的趨勢是,面向?qū)ο髷?shù)據(jù)庫和關(guān)系數(shù)據(jù)庫將不斷融合,繼承上述兩者的優(yōu)點,獲得更快的發(fā)展,最終成為DBS發(fā)展的主流。

參考文獻(xiàn):

[1]Ian Graham著. 袁兆山譯. 面向?qū)ο蠓椒ㄔ砼c實踐[M]. 北京:機(jī)械工業(yè)出版社,2003,3.

[2]來羽,張華杰. 面向?qū)ο髷?shù)據(jù)庫的特點分析[J]. 河南科技,2010(9):58~59.

[3]Lombardoni.A. Towards a Universal Information platform: An Object-Oriented, Multi-user,Information Store[J]. PhD thesis,ETH Zurich, Zurich, Switzerland, 2006:99~105.

[4]Kobler.A, Norrie.M.C. OMS Java: Lessons Learned from Building a Multi-Tier object Management Framework[J]. Proceedings of Workshop on Java and Databases[J]. Persistence Options. 1999,11(2), Denver, CO, USA.

[5]季維巖.面向?qū)ο髷?shù)據(jù)庫及其實現(xiàn)方法研究[J] .科學(xué)技術(shù)與工程,2004(1):119~131.

[6]喬世權(quán),張永強(qiáng),趙金寶. 面向?qū)ο髷?shù)據(jù)庫研究[J]. 軟件導(dǎo)航,2008(9):282~287.

[7]Supcik.J., Norrie. M.C.. An Object-oriented Database programming Environment for Oberon[C]. Proceedings of the Joint Modular Languages Conference, 1997, Linz, Austria.

[8]徐潔磐. 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)及其應(yīng)用[M]. 科學(xué)出版社,2003(11):4~89.

篇6

關(guān)鍵詞:企業(yè);數(shù)據(jù)庫系統(tǒng);安全機(jī)制

中圖分類號:F27文獻(xiàn)標(biāo)志碼:A文章編號:1673-291X(2011)10-0032-02

前言

隨著計算機(jī)的普及、尤其是在企業(yè)生產(chǎn)和科研領(lǐng)域中的廣泛使用,越來越多的信息和數(shù)據(jù)以各種各樣的形式保存在計算機(jī)中。數(shù)據(jù)庫系統(tǒng)作為數(shù)據(jù)存儲和管理的主要方式,也隨之得到了十分廣泛的應(yīng)用。大多數(shù)企業(yè)、組織電子數(shù)據(jù)都保存在各種數(shù)據(jù)庫中。他們用這些數(shù)據(jù)庫保存一些個人資料,比如員工薪水、醫(yī)療記錄、員工個人資料等等。數(shù)據(jù)庫服務(wù)器還掌握著敏感的金融數(shù)據(jù),包括交易記錄、商業(yè)事務(wù)和賬號數(shù)據(jù),戰(zhàn)略上的或者專業(yè)的信息,比如專利和工程數(shù)據(jù),甚至市場計劃等等應(yīng)該保護(hù)起來防止非法者獲取的資料。數(shù)據(jù)庫服務(wù)器還保存著一些商業(yè)伙伴的資料。

一、數(shù)據(jù)庫系統(tǒng)安全的含義和目標(biāo)

數(shù)據(jù)庫系統(tǒng)一般可以理解成兩個部分:一部分是數(shù)據(jù)庫,它按照一定的方式存取數(shù)據(jù);另一部分是數(shù)據(jù)庫管理系統(tǒng)(DBMS),它為用戶及應(yīng)用程序提供數(shù)據(jù)訪問,并具有對數(shù)據(jù)庫進(jìn)行管理和維護(hù)等多種功能。

數(shù)據(jù)庫系統(tǒng)安全包含兩層含義:第一層是指系統(tǒng)運行安全,包括:(1)硬件運行安全;(2)操作系統(tǒng)安全;(3)災(zāi)害、故障恢復(fù);(4)死鎖的避免和解除;(5)物理控制安全,如機(jī)房加鎖等。第二層是指系統(tǒng)信息安全,包括:(1) 用戶口令字鑒別;(2)用戶存取權(quán)限控制;(3)數(shù)據(jù)存取權(quán)限、方式控制;(4)審計跟蹤;(5)數(shù)據(jù)加密。

數(shù)據(jù)庫系統(tǒng)安全需要實現(xiàn)的三個目標(biāo)是:(1)完整性:只允許授權(quán)用戶修改數(shù)據(jù);(2)可用性:保證授權(quán)用戶和應(yīng)用程序可以獲取數(shù)據(jù);(3)機(jī)密性:防止數(shù)據(jù)發(fā)生非授權(quán)泄漏。

二、數(shù)據(jù)庫系統(tǒng)基本安全框架

數(shù)據(jù)庫系統(tǒng)的安全除了依賴于自身的安全機(jī)制外,還與外部網(wǎng)絡(luò)環(huán)境、應(yīng)用環(huán)境、從業(yè)人員的素質(zhì)等因素密切相關(guān)。因此從廣義上講,數(shù)據(jù)庫系統(tǒng)的安全框架可以劃分為三個層次:(1)網(wǎng)絡(luò)系統(tǒng)層;(2)操作系統(tǒng)層;(3)數(shù)據(jù)庫管理系統(tǒng)層。

這三個層次構(gòu)成了數(shù)據(jù)庫系統(tǒng)的安全體系,它們與數(shù)據(jù)安全的關(guān)系是逐步密切的,防范的重要性也逐層加強(qiáng),從外到內(nèi)、由表及里的保證數(shù)據(jù)的安全。下面簡單介紹一下安全框架中的這三個層次。(1)網(wǎng)絡(luò)系統(tǒng)層。隨著 Inetnet應(yīng)用的普及深入,越來越多的公司將其核心業(yè)務(wù)向互聯(lián)網(wǎng)轉(zhuǎn)移,各種基于網(wǎng)絡(luò)的數(shù)據(jù)庫應(yīng)用系統(tǒng)紛紛涌現(xiàn)出來,面向網(wǎng)絡(luò)用戶提供各種信息服務(wù)??梢哉f網(wǎng)絡(luò)系統(tǒng)是數(shù)據(jù)庫應(yīng)用的外部環(huán)境和基礎(chǔ),數(shù)據(jù)庫系統(tǒng)要發(fā)揮其強(qiáng)大作用離不開網(wǎng)絡(luò)系統(tǒng)的支持。數(shù)據(jù)庫系統(tǒng)的用戶(如異地用戶、分布式用戶)也要通過網(wǎng)絡(luò)才能訪問數(shù)據(jù)庫中的數(shù)據(jù)。因此,從廣義上講,數(shù)據(jù)庫系統(tǒng)的安全首先依賴于網(wǎng)絡(luò)系統(tǒng)的安全。由于網(wǎng)絡(luò)的廣泛分布性和網(wǎng)絡(luò)用戶的復(fù)雜多樣性,使得網(wǎng)絡(luò)本身存在很大的危險性,例如惡意的攻擊、竊取、病毒傳播等。目前主要通過防火墻、入侵檢測以及協(xié)作式入侵檢測等技術(shù)手段來加強(qiáng)網(wǎng)絡(luò)系統(tǒng)層次的安全防范。(2)操作系統(tǒng)層。操作系統(tǒng)是大型數(shù)據(jù)庫系統(tǒng)的運行平臺,為數(shù)據(jù)庫系統(tǒng)提供一定程度的安全保護(hù)。目前常見的操作系統(tǒng)為Windows、Unix和Linux。主要安全技術(shù)包括操作系統(tǒng)安全策略、安全管理策略、數(shù)據(jù)安全等方面。操作系統(tǒng)安全策略用于配置本地計算機(jī)的安全設(shè)置,包括密碼策略、賬戶鎖定策略、審核策略、IP安全策略、用戶權(quán)利指派、加密數(shù)據(jù)的恢復(fù)以及其他安全選項。具體可以體現(xiàn)在用戶賬戶、口令、訪問權(quán)限、審計等方面。1)用戶賬戶:用戶訪問系統(tǒng)的“身份證”,只有合法用戶才有賬戶。2)口令:用戶的口令為用戶訪問系統(tǒng)提供一道驗證。3)訪問權(quán)限:規(guī)定用戶的權(quán)限。4)審計:對用戶的行為進(jìn)行跟蹤和記錄,便于系統(tǒng)管理員分析系統(tǒng)的訪問情況以及事后的追查使用 。安全管理策略是指網(wǎng)絡(luò)管理員對系統(tǒng)實施安全管理所采取的方法及策略。針對不同的操作系統(tǒng)、網(wǎng)絡(luò)環(huán)境需要采取的安全管理策略一般也不盡相同,其核心是保證服務(wù)器的安全和為各類用戶分配適當(dāng)?shù)臋?quán)限。數(shù)據(jù)庫應(yīng)用程序通常都同操作系統(tǒng)的最高管理員密切相關(guān)。比如oarcle、Sybase、MsSQLServer數(shù)據(jù)庫系統(tǒng)都有下面這些特點:用戶賬號和密碼、認(rèn)證系統(tǒng)、授權(quán)模塊和數(shù)據(jù)對象的許可控制、內(nèi)置命令(存儲過程)、特定的腳本和程序語言(通常派生自SQL)、中間件、網(wǎng)絡(luò)協(xié)議、補丁和服務(wù)包、數(shù)據(jù)庫管理和開發(fā)工具。許多數(shù)據(jù)庫管理員都是全日制工作來管理這些復(fù)雜的系統(tǒng)。但是,安全漏洞和不當(dāng)?shù)呐渲猛ǔ斐蓢?yán)重的后果,而且都難以發(fā)現(xiàn)。(3)數(shù)據(jù)庫管理系統(tǒng)層。當(dāng)前有一種錯誤的觀點,認(rèn)為只要把網(wǎng)絡(luò)和操作系統(tǒng)的安全做好了,那么所有的應(yīng)用程序也就安全了。大多數(shù)關(guān)系數(shù)據(jù)庫都是“端口”型的。任何人都能夠用分析工具試圖連接到數(shù)據(jù)庫上,從而繞過操作系統(tǒng)的安全機(jī)制。比如:oracle7和oracle8使用的端口是1521和1526。許多數(shù)據(jù)庫系統(tǒng)也有公開的默認(rèn)賬號和默認(rèn)密碼。這兩個特性大大地危害著數(shù)據(jù)庫的安全。

另外,由于數(shù)據(jù)庫系統(tǒng)在操作系統(tǒng)下都是以文件形式進(jìn)行管理的,入侵者可以直接利用操作系統(tǒng)的漏洞竊取數(shù)據(jù)庫文件,或者直接利用某些工具來非法偽造、篡改數(shù)據(jù)庫文件內(nèi)容,這種隱患一般數(shù)據(jù)庫用戶難以察覺。

三、常見的數(shù)據(jù)庫系統(tǒng)安全機(jī)制及缺陷

針對數(shù)據(jù)庫系統(tǒng)安全的三個層次,常見的數(shù)據(jù)庫系統(tǒng)安全機(jī)制主要有如下三種:(1)依賴操作系統(tǒng)的訪問控制功能實現(xiàn)。目前的主流操作系統(tǒng)都具備完善的用戶認(rèn)證機(jī)制。對應(yīng)于每一個用戶,在操作系統(tǒng)中相應(yīng)的有一個訪問控制列表(ACL)。在訪問控制列表中設(shè)定了該用戶的訪問權(quán)限。每個登錄系統(tǒng)的用戶必須遵守其在訪問控制列表中設(shè)置的權(quán)限來訪問系統(tǒng)資源。這樣數(shù)據(jù)庫擁有者或者管理者就可以通過設(shè)置用戶訪問權(quán)限來控制用戶對數(shù)據(jù)庫文件的讀取、寫入、復(fù)制及刪除等操作。(2)采用用戶身份認(rèn)證實現(xiàn)。常見的身份認(rèn)證都是在用戶試圖打開數(shù)據(jù)庫時要求用戶輸入用戶密碼。這種安全技術(shù)的實現(xiàn)思想是數(shù)據(jù)庫管理軟件打開文件時校驗用戶輸入密碼是否與數(shù)據(jù)庫文件中保存的密碼數(shù)據(jù)一致,如果不一致則拒絕打開數(shù)據(jù)庫文件。通常是在一個配置文件中保存用戶名及密碼。密碼一般是采用某種加密方式存儲的,以防止因為配置文件被非法訪問而造成密碼泄漏。(3)通過對數(shù)據(jù)庫加密來實現(xiàn)。這種安全機(jī)制的設(shè)計思想是,利用密碼學(xué)方法對保存在數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行加密處理,以增強(qiáng)數(shù)據(jù)庫中保存的原始數(shù)據(jù)的安全性。

下面簡要地分析一下這三種安全機(jī)制的缺陷。第一種安全技術(shù)的不足之處是,首先,數(shù)據(jù)庫文件的安全完全依賴于操作系統(tǒng),當(dāng)系統(tǒng)配置不當(dāng)時,安全根本得不到保證;其次,當(dāng)數(shù)據(jù)庫文件在目錄或計算機(jī)間移動時,這種保護(hù)就會失效。所以,這種安全技術(shù)的最大弊病在于要靠外部環(huán)境實現(xiàn)安全,一旦外部環(huán)境發(fā)生變化,安全性便無法保障。第二種安全技術(shù)的主要不足是,數(shù)據(jù)庫文件的安全完全依賴于基于密碼校驗的身份認(rèn)證。如果用戶以正常方式(采用數(shù)據(jù)庫管理軟件)去打開數(shù)據(jù)庫文件時,身份認(rèn)證無疑是個不錯的安全措施。但用戶以二進(jìn)制文件方式打開數(shù)據(jù)庫文件時,身份認(rèn)證過程會被輕易跳過。所以,這種安全技術(shù)的最大弊病在于要靠數(shù)據(jù)庫管理軟件實現(xiàn)安全,一旦非法用戶采用別的方法察看數(shù)據(jù)庫文件內(nèi)容時,安全性就無法保障。第三種安全技術(shù)的局限也很明顯。數(shù)據(jù)庫文件一般都很大,因此,采用這種技術(shù)進(jìn)行加密和解密的時間代價很大。如果用戶每次打開和關(guān)閉數(shù)據(jù)庫時,數(shù)據(jù)庫文件都要花費幾分鐘的時間來解密和加密,那么數(shù)據(jù)庫用戶是無法接受的。

四、數(shù)據(jù)庫系統(tǒng)安全技術(shù)的新需求及實現(xiàn)

新的數(shù)據(jù)庫系統(tǒng)安全技術(shù)應(yīng)該具備以下特點。(1)安全性與操作系統(tǒng)平臺無關(guān)。數(shù)據(jù)庫文件無論被移動到哪臺計算機(jī)或哪個目錄,它的安全防護(hù)依然存在。即無論何時何地,數(shù)據(jù)庫文件都有足夠的安全性。(2)采用先進(jìn)的加密技術(shù)??梢圆捎?DES、密碼反饋等先進(jìn)的加密技術(shù)來提高安全性。在對數(shù)據(jù)庫文件密碼、數(shù)據(jù)庫字段說明部分加密時要把它們作為一個整體進(jìn)行加密。(3)加密內(nèi)容的選擇。對于有大量數(shù)據(jù)的數(shù)據(jù)庫文件進(jìn)行完全加密是不必要的??尚械霓k法是加密數(shù)據(jù)庫文件中的文件特征說明部分和數(shù)據(jù)庫字段說明部分,這樣,即使非法用戶獲得了數(shù)據(jù)庫文件,也很難從中找到有用的內(nèi)容。(4)加密與數(shù)據(jù)壓縮相結(jié)合。數(shù)據(jù)壓縮本身有數(shù)據(jù)隱蔽的功能,而且能夠減少數(shù)據(jù)庫占用的存儲空間。(5)身份認(rèn)證陷阱。非法用戶通常采用枚舉密碼的辦法取得密碼,身份認(rèn)證陷阱能使有這一行為的非法用戶付出很大的時間代價也無法獲得用戶密碼。(6)數(shù)據(jù)庫文件防復(fù)制的能力。復(fù)制功能是操作系統(tǒng)提供的,真正的“防復(fù)制”需要操作系統(tǒng)的功能支持。這里的“防復(fù)制”是指除非數(shù)據(jù)庫文件擁有者明確告訴數(shù)據(jù)庫管理系統(tǒng)要復(fù)制一個數(shù)據(jù)庫文件副本,否則非法用戶即使利用操作系統(tǒng)提供的復(fù)制功能獲得了一個副本,并且擁有數(shù)據(jù)庫密碼,數(shù)據(jù)庫也無法正確打開。這一功能需要依靠數(shù)據(jù)庫管理系統(tǒng)實現(xiàn),它能在數(shù)據(jù)庫打開和關(guān)閉時對數(shù)據(jù)庫文件進(jìn)行特殊處理。

結(jié)束語

當(dāng)前,各企業(yè)尤其是大企業(yè)都在大量地使用數(shù)據(jù)庫系統(tǒng)來存放和管理各種各樣的信息和數(shù)據(jù),互聯(lián)網(wǎng)的飛速發(fā)展使得越來越多的應(yīng)用都通過網(wǎng)絡(luò)開展起來。數(shù)據(jù)庫系統(tǒng)也逐漸從以前的單機(jī)數(shù)據(jù)庫向網(wǎng)絡(luò)數(shù)據(jù)庫方向發(fā)展,這一趨勢使得數(shù)據(jù)庫系統(tǒng)受到的威脅也越來越大。網(wǎng)絡(luò)中存在的大量的黑客攻擊、病毒等都會給數(shù)據(jù)庫系統(tǒng)帶來危害,造成數(shù)據(jù)丟失、竊取、篡改等嚴(yán)重后果。為了實現(xiàn)數(shù)據(jù)庫系統(tǒng)安全的三個目標(biāo),即完整性、可用性和機(jī)密性,必須采取各種各樣的措施保護(hù)和防止數(shù)據(jù)庫系統(tǒng)受到破壞。盡管國內(nèi)外已經(jīng)有許多科研單位和廠商在數(shù)據(jù)庫系統(tǒng)安全方面進(jìn)行了大量的研究工作并且取得了諸多的研究成果,但是要實現(xiàn)真正的數(shù)據(jù)安全還需要付出更大的努力。

參考文獻(xiàn):

[1]施伯樂,丁寶康,等.數(shù)據(jù)庫系統(tǒng)教程:第2版[M].北京:高等教育出版社,2003.

[2]臧勁松.數(shù)據(jù)庫系統(tǒng)安全的研究與分析[J].計算機(jī)安全,2008,(7).

篇7

關(guān)鍵詞:中文期刊,全文數(shù)據(jù)庫,數(shù)據(jù)庫系統(tǒng)

 

引言在追求快速、方便的網(wǎng)絡(luò)時代,只提供題錄、文摘數(shù)據(jù)庫已不能滿足讀者的要求,全文數(shù)據(jù)庫的建設(shè)是今后發(fā)展的方向。許多文獻(xiàn)數(shù)據(jù)庫都是通過網(wǎng)絡(luò)和提供檢索的,面對的是沒有檢索經(jīng)驗的用戶和巨大的文獻(xiàn)處理的難題,如何建立一個有價值的、用戶滿意的、實用的全文數(shù)據(jù)庫就成為廣大圖書情報人員深入研究的課題。

全文數(shù)據(jù)庫除提供一般題錄數(shù)據(jù)庫的題名、分類等檢索途徑外,還提供全文檢索。全文檢索是利用了文獻(xiàn)中的自然語言作為一個檢索入口,這種自然語言的檢索方式比較符合用戶的易于利用的需求。

中文與西方國家的語言不同,由大量獨立漢字組成,因此在建設(shè)中文全文數(shù)據(jù)庫時要注意數(shù)據(jù)庫系統(tǒng)、編碼與開發(fā)工具的選擇。

1 全文數(shù)據(jù)庫系統(tǒng)軟件基本模塊的設(shè)計構(gòu)想由于全文數(shù)據(jù)庫是非結(jié)構(gòu)化的數(shù)據(jù),因此全文數(shù)據(jù)庫的結(jié)構(gòu)(記錄、字段、子字段等)的劃分及長度的確定,往往隨文獻(xiàn)本身的內(nèi)容特點而彼此有很大的差異。與之相對應(yīng),全文數(shù)據(jù)庫系統(tǒng)的軟件及其功能模塊也會有很大的不同。作為功能完備的全文數(shù)據(jù)庫系統(tǒng),應(yīng)該具有以下的結(jié)構(gòu)特點及全部或大部分功能模塊。

1.1 數(shù)據(jù)庫結(jié)構(gòu)定義模塊這一模塊主要是確定庫的記錄、字段(包括重復(fù)字段或子字段),確定相應(yīng)記錄或字段的索引方式。字段設(shè)計之目的在于:增加正文之外的信息項,增加檢索的切入點;提高檢索的查準(zhǔn)性,借以進(jìn)行字段限定檢索,并提高檢索速度;索引方式的確定,以字段為單位。索引方式有四種:全字段作為一個完整單位作索引;以< >標(biāo)引符號內(nèi)字符串作索引;以%分割的重復(fù)字段作索引;每個字作索引(單字索引,主要用于正文字段)。在一條記錄中,字段的個數(shù)應(yīng)不限,一般最多能達(dá)到數(shù)百個字段。

1.2 數(shù)據(jù)預(yù)處理模塊由于全文數(shù)據(jù)庫的數(shù)據(jù)基本上來源于外部數(shù)據(jù),對不同格式的數(shù)據(jù)處理采用不同的方法。

電子排版文本。這種文本中含有排版符號。如果全文數(shù)據(jù)庫建立在這種排版軟件基礎(chǔ)上,則文本無需加工。但多數(shù)全文數(shù)據(jù)庫系統(tǒng)并非建立在這種排版文本基礎(chǔ)上的,因此有必要通過軟件一次全部刪除排版符號,同時應(yīng)解決由于刪除排版符號而帶來的問題,如補字、數(shù)學(xué)公式、上下標(biāo)等等,使之成為完整的純文本文件。

網(wǎng)上下載的PDF文件、網(wǎng)頁文件、光盤上記錄的某些特殊格式的數(shù)據(jù)。如果全文系統(tǒng)采用純文本格式,則需對其轉(zhuǎn)換。

以上這些文件的轉(zhuǎn)換,需要編制工具軟件,或利用已有的轉(zhuǎn)換工具。

文本預(yù)處理還包括數(shù)據(jù)的批式標(biāo)引。這是建立全文數(shù)據(jù)庫之前特別是數(shù)據(jù)裝載之前,主要是利用文字處理軟件和專門自動標(biāo)引軟件對數(shù)據(jù)進(jìn)行的標(biāo)引,或按自己建立的標(biāo)引詞表,對文本進(jìn)行的掃描標(biāo)引。

1.3 裝庫模塊裝庫就是將數(shù)據(jù)預(yù)處理后的文本數(shù)據(jù)導(dǎo)入已有的庫結(jié)構(gòu)之中。

有的全文庫要求將數(shù)據(jù)轉(zhuǎn)換成ISO2709(CNMARC)格式才能裝庫;有時可將有一定標(biāo)志的文本格式裝庫;有的則將文本按原格式導(dǎo)入庫結(jié)構(gòu);有的不實際裝庫,只在系統(tǒng)中建立指向文本文件地址的指針??梢愿鶕?jù)具體情況選擇裝庫方式,但最后一種方法不推薦使用。

1.4 標(biāo)引模塊全文庫正文的單字索引,不必建立,因為系統(tǒng)有識別每個漢字和其他符號或外文字串索引功能。

在以單字為基礎(chǔ)的索引中,以布爾邏輯為手段進(jìn)行檢索,誤檢率極高,需以位置檢索手段進(jìn)行檢索,用以提高查準(zhǔn)率。以單字為基礎(chǔ)的索引的優(yōu)點在于不需要人工標(biāo)引,可實現(xiàn)索引的自動化,從而大大提高了建庫的效率。但單字索引也存在明顯的缺點,即同義詞、相關(guān)詞無法控制,解決辦法可以通過在檢索匹配模塊設(shè)置后控詞表進(jìn)行后控檢索。

1.5 索引作業(yè)模塊索引作業(yè)就是按照庫結(jié)構(gòu)定義中的索引字段生成索引的過程,一般生成一個索引即可。為了區(qū)別不同字段的索引款目,可以在索引定義中加文字常量。這樣在混排索引中就可以把不同屬性的索引款目相對集中,在檢索時,可以進(jìn)行按字順顯示。如要檢索作者為“高山”的著作,應(yīng)這樣輸入檢索式:“AU = 高山”,從而可以避免檢出作為關(guān)鍵詞的“高山”及正文中的“高山”。全文索引的主體應(yīng)該是正文的單字索引,借助這種索引可以使全文中的任何信息、中心主題信息與邊緣性信息都能被檢索出來,避免標(biāo)引中的遺漏和主觀武斷,從而實現(xiàn)檢索的徹底性。

1.6用戶輸入檢索式模塊這一模塊是全文數(shù)據(jù)庫系統(tǒng)與用戶之間最直接的接口,也是決定檢索結(jié)果好壞的關(guān)鍵。全文數(shù)據(jù)庫的使用者往往缺乏系統(tǒng)檢索經(jīng)驗,要查到一些信息容易,但查全、查準(zhǔn)信息較難。全文庫檢索主要是使用自然語言,缺乏詞匯的控制,因此隨意性較大,檢索效果的評價也缺乏明顯的驗證標(biāo)準(zhǔn)。要引導(dǎo)用戶正確提出檢索式,一般來說有三種基本的引導(dǎo)用戶的模式:

詢問表方式。即在用戶檢索時,系統(tǒng)提出一個詢問表格,檢索項目由用戶填寫。這些項目如:欲檢索的篇名、作者姓名、關(guān)鍵詞、分類號、單字等等。不必要求用戶每項都填,即使只填一、二項也可。詢問表方式引導(dǎo)用戶表達(dá)自己信息需求的方式,對無檢索經(jīng)驗者較為有用。

詞典式檢索。此方法適用于一般用戶。按詞典檢索時,應(yīng)能允許用戶從顯示詞表中用光標(biāo)選詞,并且可選一個以上的詞,被選中的詞以“或”方式連結(jié)。如果讀者要用“與”“非”方式,應(yīng)能從表下所附的AND、NOT中點出這些運算符,使之形成檢索式??偟膩碚f,其目標(biāo)應(yīng)該是減少用戶自己輸入漢字和運算符,以提高效率并減輕其負(fù)擔(dān)。

命令方式。這是供有一定檢索經(jīng)驗的用戶使用的,功能最為強(qiáng)大。命令方式主要是布爾運算、位置運算、括號嵌套、截斷符號、字段限定等。

1.7 用戶檢索分析處理模塊系統(tǒng)對來自屏幕的用戶檢索式加以處理,使之形成便于運算的檢索方式。論文參考。對于復(fù)雜的檢索式,需要進(jìn)行逆波蘭變換,確定各檢索項的運算次序。對詢問表的檢索式也需根據(jù)用戶所填數(shù)據(jù)形成檢索式。對標(biāo)引詞表顯示中用戶光標(biāo)指定詞加以收集,并形成檢索式。

在這一模塊中,系統(tǒng)還應(yīng)該檢查用戶提問檢索式是否有錯誤(如左右括號不配對,數(shù)個運算符連用,字段文字常量輸錯等),如發(fā)現(xiàn)錯誤,應(yīng)向用戶做出提示,并給出修改建議。

1.8 檢索匹配模塊這一模塊與一般檢索系統(tǒng)相同,但作為全文數(shù)據(jù)庫來說還應(yīng)具備下列功能:

較強(qiáng)的位置檢索功能。由于全文庫往往對正文字段單字索引,因此對單字的布爾檢索不大適用,而應(yīng)以位置檢索為主。位置檢索時,應(yīng)對緊密相鄰的幾個字采用連寫方法,不必插入位置運算符?;蛘哒f,字與字之間默認(rèn)的運算符是彼此緊密相鄰。

全文庫或指定集合中的順序掃描匹配檢索。當(dāng)對正文作單字索引的情況下,允許用戶使用這種掃描匹配進(jìn)行檢索。用戶只需輸出一個字符串(詞或短語),計算機(jī)就開始對全庫或指定集合進(jìn)行檢索匹配。

1.9 檢索結(jié)果的處理模塊檢索結(jié)果的處理主要包括:顯示瀏覽有關(guān)記錄(段或句子)文本。排序:可由用戶指定排序鍵。排序鍵可以是年代、字順或命中頻率。排列次序可以是升或降序。聚類:在有屬性標(biāo)引的全文庫中可進(jìn)行聚類。打?。嚎蓪⒚薪Y(jié)果打印輸出。下載:可以提供文本格式或機(jī)內(nèi)數(shù)據(jù)格式兩種下載方式。

2 數(shù)據(jù)庫系統(tǒng)、開發(fā)工具及中文編碼的選擇2.1 數(shù)據(jù)庫系統(tǒng)的選擇理論上現(xiàn)在成熟的大型關(guān)系數(shù)據(jù)庫軟件均可作為中文期刊全文數(shù)據(jù)庫系統(tǒng),但從市場占有程度及成本和易用性考慮,用來存儲中文期刊全文的數(shù)據(jù)庫系統(tǒng)建議從以下幾種平臺中進(jìn)行選擇。如果服務(wù)器端操作系統(tǒng)為Unix或Linux,并且經(jīng)費預(yù)算允許,建議選擇Oracle作為數(shù)據(jù)庫系統(tǒng)。Oracle數(shù)據(jù)庫是一種具有無限可伸縮性與高可用性,并可在集群環(huán)境中運行商業(yè)軟件的互聯(lián)網(wǎng)數(shù)據(jù)庫,具有400多個領(lǐng)先的數(shù)據(jù)庫功能,在集群技術(shù)、高可用性、商業(yè)智能、安全性、系統(tǒng)管理等方面都實現(xiàn)了新的突破。如果從降低成本考慮,可以選擇MySQL作為數(shù)據(jù)庫系統(tǒng)。以上兩種數(shù)據(jù)庫還提供支持Windows操作系統(tǒng)的版本,具有跨平臺能力。

如果服務(wù)器端操作系統(tǒng)為Windows,則建議選擇SQL Server作為數(shù)據(jù)庫系統(tǒng)。SQL Server是一個全面的數(shù)據(jù)庫系統(tǒng),使用集成的商業(yè)智能(BI)工具提供了企業(yè)級的數(shù)據(jù)管理。SQL Server數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。

2.2 開發(fā)工具的選擇如果系統(tǒng)需要跨平臺部署,在選擇Oracle或MySQL數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)上,建議選擇Java為開發(fā)工具。Java是一種簡單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。如果對跨平臺沒有要求,并選擇SQL Server數(shù)據(jù)庫系統(tǒng),則建議選擇Visual Studio為開發(fā)工具。Visual Studio 是微軟公司推出的開發(fā)環(huán)境。是目前最流行的 Windows 平臺應(yīng)用程序開發(fā)環(huán)境。目前已經(jīng)開發(fā)到 9.0 版本,也就是 Visual Studio 2008。Visual Studio 可以用來創(chuàng)建 Windows 平臺下的 Windows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office 插件。

2.3 中文編碼的選擇中文編碼主要有以下四種:

GB2312:簡體中文編碼,一個漢字占用2字節(jié),在大陸是主要編碼方式。當(dāng)文章中包含繁體中文、日文、韓文等等時,這些內(nèi)容可能無法被正確編碼。

BIG5:繁體中文編碼。主要在臺灣地區(qū)采用。

GBK:支持簡體及繁體中文,但對其它國家非拉丁字母語言還是有問題。論文參考。

UTF-8:Unicode編碼的一種。Unicode用一些基本的保留字符制定了三套編碼方式,它們分別UTF-8,UTF-16和UTF-32。在UTF-8中,字符是以8位序列來編碼的,用一個或幾個字節(jié)來表示一個字符。論文參考。這種方式的最大好處,是UTF-8保留了ASCII字符的編碼作為它的一部分。UTF-8俗稱“萬國碼”,可以同屏顯示多語種,一個漢字占用3字節(jié)。

因此,為了保證全文數(shù)據(jù)的存儲和顯示不出現(xiàn)問題,建議選擇UTF-8為數(shù)據(jù)庫系統(tǒng)編碼,應(yīng)該在裝庫操作前對所有內(nèi)容進(jìn)行編碼轉(zhuǎn)換,統(tǒng)一轉(zhuǎn)換成UTF-8編碼。

結(jié)語全文數(shù)據(jù)庫以其內(nèi)容完整、直接提供一次文獻(xiàn)等特點,越來越受到人們的關(guān)注。全文數(shù)據(jù)庫給網(wǎng)絡(luò)環(huán)境下的信息交流提供了更為方便快捷的途徑。在全文檢索技術(shù)日趨成熟的條件下,全文數(shù)據(jù)庫在供讀者利用方面表現(xiàn)出的優(yōu)勢是其它類型數(shù)據(jù)庫所無法替代的。因此,對中文全文數(shù)據(jù)庫的設(shè)計進(jìn)行研究,是信息服務(wù)發(fā)展的必然要求。

參考文獻(xiàn)[1]秦劍.我國數(shù)據(jù)庫建設(shè)的思考與展望[J]河南圖書館學(xué)刊,2002,(04).

[2]程文艷.數(shù)字圖書館——數(shù)字中國的開路先鋒[J]情報科學(xué),2002,(06).

[3]楊麗兵.淺談中文過刊編目數(shù)據(jù)庫建設(shè)工作[J]農(nóng)業(yè)圖書情報學(xué)刊,2004,(01).

[4]何凱文.我國高校圖書館數(shù)字資源建設(shè)的問題及發(fā)展途徑[J]圖書館建設(shè),2004,(05).

[5]曾莉紅.基于點擊率的全文數(shù)據(jù)庫檢索結(jié)果組織方法探討[J]情報雜志,2007,(06).

篇8

在Yukon的醞釀和設(shè)計過程中,設(shè)計師對下一代數(shù)據(jù)庫系統(tǒng)的編程能力下了很多氣力。微軟內(nèi)部的開發(fā)人員認(rèn)為,下一代的數(shù)據(jù)庫系統(tǒng)一定要包括更多的對稱編程模式,對各種數(shù)據(jù)類型的查詢應(yīng)該更靈活。所謂的對稱編程模式是指對于常見的數(shù)據(jù)庫操作,用戶應(yīng)該可以使用XML,.NET或是傳統(tǒng)的T-SQL程序

在這種設(shè)計思想的指導(dǎo)下,Yukon在許多方面有了大的拓展。首先,.NET的公用語言執(zhí)行環(huán)境(CLR)被融合到了新的系統(tǒng)里;第二,融合進(jìn)來的.NET提供了很多強(qiáng)有力的數(shù)據(jù)庫對象;第三,XML在這版的數(shù)據(jù)庫里得到了更好和更深的支持;第四,數(shù)據(jù)庫的服務(wù)器端提供了對XML查詢(XQuery)以及XML規(guī)范定義語言XSD的支持;第五,傳統(tǒng)意義上的T-SQL也得到了進(jìn)一步的增強(qiáng)

新的編程模式和新增的語言一道使得數(shù)據(jù)庫應(yīng)用的開發(fā)有了更豐富的選擇。新的體系結(jié)構(gòu)使得我們更容易構(gòu)造可靠的,可擴(kuò)展的,穩(wěn)定的應(yīng)用,并且開發(fā)的效率也得到了極大的提高。Yukon中還引入了全新的服務(wù)(Service Broker),一種分布式的一部消息傳遞機(jī)制,現(xiàn)在讓我們先看看編程語言方面的增強(qiáng)。

目錄

Transact-SQL 語言的增強(qiáng)

在SQL服務(wù)器中使用.NET來編程

充分開發(fā)CLR的潛能

在T-SQL和管理程序之間的取舍

用戶定義的類,函數(shù)和集合

管理的存儲過程

Transact-SQL 語言的增強(qiáng)

Yukon對微軟的T-SQL有了很多的增強(qiáng)。用戶可以在Yukon的Online幫助中得到詳細(xì)的信息,限于便服,在此不一一列了。新增的特色表明了微軟對ANSI-99 SQL標(biāo)準(zhǔn)的進(jìn)一步支持,同時也反映了對廣大用戶反饋意見的相應(yīng)。新的增強(qiáng)主要是為了使查詢更富有表達(dá)性。有幾種新增的查詢可以很好的覆蓋用戶常用的一些查詢類型。比如說,遞歸查詢可以返回有層次機(jī)構(gòu)的結(jié)果集合(hierarchical resultset)或是a bill of materials。

Yukon提供了新的PIVOT和UNPIVOT操作。這些操作的輸入是表格類的表達(dá)式(table-valued expression),其輸出結(jié)果同樣是表格類型。PIVOT操作是將行轉(zhuǎn)變?yōu)榱?,并進(jìn)行集合以及其他的數(shù)學(xué)操作。在輸入的表格中它將以一個給定的列為軸進(jìn)行旋轉(zhuǎn),其成生的表格的列是有不同值的原旋轉(zhuǎn)列。這種操作使得生成的表格變寬(設(shè)想一個5列100行的輸入表格,其結(jié)果可能是100列5行的表格)。UNPIVOT是PIVOT的逆操作。它將輸入表格的列轉(zhuǎn)換為行。其結(jié)果是使輸入表格變窄。

Yukon的異常捕捉和處理機(jī)制也有了很大的變化。它使用了和.NET一致的TRY/CATCH結(jié)構(gòu)。導(dǎo)致交易終止的錯誤將會被捕捉并且處理。另外為了配合.NET的框架提供的安全,復(fù)制,提示服務(wù)以及XML等等功能(security, replication, Notification Services, XML),Yukon引入了不少新的語言構(gòu)造。.NET在服務(wù)器端的技術(shù)也極大了影響了SQL數(shù)據(jù)庫的研制和發(fā)展。

在SQL服務(wù)器中使用.NET來編程

程序員可以在Yukon中使用和.NET兼容的高級程序語言進(jìn)行開發(fā),利用VB.NET,C#這一類的語言編寫自定義函數(shù)(user-defined functions),存儲過程(stored procedures)和觸發(fā)(triggers)。另外,利用管理程序(managed code)還可以開發(fā)自定義函數(shù)(UDTs),集合(aggregates),函數(shù)(functions)。公用語言執(zhí)行環(huán)境(CLR)是.NET的核心,它是一切基于.NET開發(fā)的程序的運行平臺。它提供了諸多的服務(wù),比如實時編譯(just-in-time compilation),內(nèi)存管理和分配(memory management and allocation),類型安全強(qiáng)制(type safety enforcement),異常處理(exception handling),線程管理(thread management)以及安全檢查(security)等等(CLR對于.NET程序就好比Java的虛擬機(jī)對于Java程序一樣)。在Yukon中,.NET程序?qū)⒑驮贑LR中完全相同的方式運行。

將CLR整合到Y(jié)ukon中的好處是顯而易見的。Yukon獲得了CLR的各種有益的功能,如自動的內(nèi)存管理,資源分配,垃圾回收等等。Yukon提供了一套.NET assemblies,這樣允許程序員直接操作數(shù)據(jù)庫對象。數(shù)據(jù)的操作是通過一套特殊的ADO.NET來實現(xiàn)的。這些新的方法和原來的ADO.NET非常相似,程序員應(yīng)該感到非常的熟悉和親切。細(xì)一點說,我們可以把Yukno集成了CLR的好處歸結(jié)為以下幾點:

1.豐富了編程模式。CLR兼容的高級程序語言比T-SQL要豐富的多,也強(qiáng)大的多。它們提供的功能和特色是以往SQL程序員不敢想象的。此外,Yukon還提供了一系列的類庫(Framework APIs),這些類庫的功能比以前SQL內(nèi)置的功能強(qiáng)大的多

2.增強(qiáng)了安全性。管理程序運行于數(shù)據(jù)苦支持的CLR環(huán)境當(dāng)中。這使得數(shù)據(jù)庫的對象比以往的擴(kuò)展存儲過程(extended stored procedures)更安全

3.用戶自定義的類型和集合。通過對CLR的集成,這兩個新增的對象擴(kuò)展了SQL數(shù)據(jù)庫的查詢和存儲能力

4.為今后的Visual Studio®開發(fā)環(huán)境指明了方向。今后程序員可以向開發(fā)其他.NET程序那樣用VB.NET或是C#這類的高級語言進(jìn)行數(shù)據(jù)庫的開發(fā),調(diào)試工作。

5.性能的增強(qiáng)。在一些情況下,.NET語言的編譯和執(zhí)行可以提供比T-SQL更好的性能。

充分開發(fā)CLR的潛能

在以前的SQL數(shù)據(jù)庫應(yīng)用的開發(fā)中,服務(wù)器端的程序被限制于T-SQL。而在新的Yukon中,由于集成了CLR,使得開發(fā)工作變得前所未有的容易和方便。像VB.NET和C#這類的高級語言,全面支持?jǐn)?shù)組(Array),結(jié)構(gòu)化的異常處理(structured exception handling)以及各種集合操作(Collections)。這些功能使得程序員可以編寫更復(fù)雜的邏輯和計算工作。

更突出的一點就是Visual Basic .NET and C# 是面向?qū)ο蟮恼Z言,它們自身所具有的數(shù)據(jù)封裝(encapsulation),繼承(inheritance)和多態(tài)性(polymorphism)是T-SQL所不能比擬的。在大型系統(tǒng)的開發(fā)中,這種基于模塊化開發(fā)機(jī)制的優(yōu)越性會更加明顯。它可以更好的組織你的源程序,增加代碼的重用性。將源程序按照邏輯關(guān)系編譯成不同的assemblies和n字域(namespaces)可以增強(qiáng)程序的組織性,讓程序員更方便的瀏覽和使用已有的程序。

Yukon實現(xiàn)了三個層次的assemblies安全的管理控制。這種安全機(jī)制是對以往基于用戶驗證和授權(quán)機(jī)制和新的CLR安全機(jī)制的有機(jī)合成。新的三級管理層次為:

最高層次: 安全接觸(SAFE)。它只允許接觸和計算數(shù)據(jù)

次高層次: 外部接觸(EXTERNAL_ACCESS)。它允許接觸外部的系統(tǒng)資源

最低層次: 不安全接觸(UNSAFE)。只要不對系統(tǒng)的穩(wěn)定性造成影響,就不加限制。

在T-SQL和管理程序(Managed code)之間的取舍

管理程序非常適于進(jìn)行數(shù)字密集型的計算和復(fù)雜的邏輯處理。.NET對于字符串 (String),規(guī)則表達(dá)式(regular expressions),錯誤捕捉等等有著更好的支持。另外.NET提供的上千個類(Class) 和方法可以在自定義函數(shù)(user-defined functions),存儲過程(stored procedures)和觸發(fā)(triggers)中很方便的使用。所以對于有大量字符創(chuàng)操作,數(shù)學(xué)計算,日期運算,系統(tǒng)資源存取,高級加密運算,文件操作,圖像處理或是XML的情形,管理的存儲過程,函數(shù),觸發(fā),集合要比傳統(tǒng)意義上的T-SQL等強(qiáng)大和簡潔。

使用管理的程序的另外一個好處就是類型安全。在管理的程序執(zhí)行之前,CLR要對其進(jìn)行檢查以保證它的安全運行。比如說,對于一個內(nèi)存讀寫的操作,CLR要先進(jìn)行檢查以保證在讀取的時候沒有寫操作在進(jìn)行。

在準(zhǔn)備編寫存儲過程,觸發(fā),或是UDFs之前,你要權(quán)衡各種情況,在傳統(tǒng)的T-SQL和管理程序(Managed code)之間做出選擇。選擇的標(biāo)準(zhǔn)是你當(dāng)前問題的具體特點。如果你的主要操作是數(shù)據(jù)存取以及相對簡單的邏輯運算,那么T-SQL則非常合適。對于有大量數(shù)值計算以及復(fù)雜邏輯運算的情況,管理程序(Managed code)則更適用。

程序放置在什么地方也是很關(guān)鍵的一步。T-SQL和管理程序(Managed code)都是在數(shù)據(jù)庫的引擎內(nèi)運行。把.NET和數(shù)據(jù)庫緊密放置在一起可以有效的發(fā)揮服務(wù)器的硬件運算能力。當(dāng)然最好是用SQL數(shù)據(jù)庫的Profile程序來測量一下你的具體程序的運行性能,然后再做出決定。Yukon的Profile程序有了進(jìn)一步的增強(qiáng)??梢愿顚哟蔚臏y量SQL數(shù)據(jù)庫內(nèi)的CLR的性能,并且會以更直觀的圖形方式來輸出對比測試結(jié)果。下面就讓我們來具體看看Yukon中新增的一些功能。

用戶定義的類,函數(shù)和集合(User-defined Types, Functions, and Aggregates)

Yukno支持?jǐn)U展的CLR的類系統(tǒng)。這些擴(kuò)展的類可以在服務(wù)器端定義表(table),也可以在客戶端進(jìn)行數(shù)據(jù)操作。用戶自定義類型(UTDs)允許用戶擴(kuò)展已有的類。這些擴(kuò)展的具體實現(xiàn)是用的管理程序(managed code)。比如說,你可以定義一些用于地理空間的類型,一些特殊的金融類型或是特別的時間日期類型以適應(yīng)你獨特的要求。

用.NET的術(shù)語來說,UTDs是結(jié)構(gòu)(struct)或是參考類型(reference type),而不是類(class)或枚舉(enum)。這意味著內(nèi)存的是用是由CLR控制優(yōu)化的。不過,UTDs不支持繼承和多態(tài)性(inheritance and polymorphism)。它可以有公用或是私有函數(shù)(public and private functions)。事實上,諸如限制檢查(constraint checking)應(yīng)該由私有函數(shù)來完成。舉例來說吧,如果你想定義一個地理空間的類型,這可能包含經(jīng)度,緯度也許還有高度信息,你可以定義相應(yīng)的私有成員來完成這一任務(wù)。這類型創(chuàng)建完成后,你可以把他注冊到SQL數(shù)據(jù)庫中。這個被編譯的DLL就會被存放在SQL數(shù)據(jù)庫中。

用戶自定義函數(shù)(UDFs)有兩種類型:一種是標(biāo)量值型的(scalar-valued),這種函數(shù)返回單一的值,如字符串,整數(shù),比特等等。另外一種是表格值型的(Table-valued)。這種函數(shù)返回有一個或多個列組成的數(shù)據(jù)集合。

Yukon允許用戶定義新的集合(aggregate)操作的能力遠(yuǎn)遠(yuǎn)超過了以前的版本。用戶用管理語言開發(fā)的集合可以被T-SQL或是其他的管理語言調(diào)用。這些新開發(fā)的集合是.NET的類,它可以引用數(shù)據(jù)庫中存在的其他編譯好的類庫(Class Library)。你可以使用用戶定義的集合將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)化為數(shù)值型變量。比如你最近的一次用戶調(diào)查的數(shù)據(jù)存放到數(shù)據(jù)庫中,通過一個用戶定義的統(tǒng)計函數(shù)你可以得到加權(quán)平均或是標(biāo)準(zhǔn)偏差。

篇9

關(guān)鍵詞:數(shù)據(jù)庫;教學(xué)方法;教學(xué)改革

中圖分類號:G424文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)34-1560-01

Researches on the Teaching of the Database Systems Principles

ZHANG Li

(Computer and Information Institute, Yang-en University,Quanzhou 362014, China)

Abstract: Based on self teaching experiences, through analyzing those questions in the teaching of the database systems principles, the essay puts forwards several arguments about the teaching of the database systems principles, including teaching contents, methods and so on.

Key words: database; teaching methods; teaching reform

1 引言

數(shù)據(jù)庫技術(shù)是計算機(jī)科學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,也是應(yīng)用最廣的技術(shù)之一,它已成為計算機(jī)信息系統(tǒng)與應(yīng)用系統(tǒng)的核心技術(shù)和重要基礎(chǔ)。在教育部高等學(xué)校計算機(jī)、信息類專業(yè)的培養(yǎng)方案中,《數(shù)據(jù)庫系統(tǒng)原理》一直是四年制本科學(xué)生的專業(yè)必修課程。學(xué)好這門課,對學(xué)生畢業(yè)以后從事軟件開發(fā)等相關(guān)工作具有重要意義。

2 教學(xué)中存在的問題

通過對我校近幾年計算機(jī)專業(yè)《數(shù)據(jù)庫系統(tǒng)原理》課程教學(xué)現(xiàn)狀的分析,發(fā)現(xiàn)主要存在以下一些問題:

2.1 理論教學(xué)和實踐教學(xué)課時安排不合理

隨著國家的教育改革,不斷地減少學(xué)時數(shù)減輕學(xué)生負(fù)擔(dān),該課程教學(xué)總課時數(shù)較少僅54學(xué)時,要求學(xué)生在較短的時間內(nèi)掌握完整的理論知識,又能夠在實際中較好的運用數(shù)據(jù)庫技術(shù)是比較困難的。因此,教師要么偏重于理論教學(xué),要么偏重于流行數(shù)據(jù)庫開發(fā)工具的教學(xué),使理論與應(yīng)用比例失調(diào),無法為學(xué)生構(gòu)建一個合理的知識結(jié)構(gòu),影響了學(xué)習(xí)的效果。

2.2 教學(xué)方法和手段缺乏多樣性

目前大部分高校都提倡并要求教師使用多媒體進(jìn)行教學(xué),《數(shù)據(jù)庫系統(tǒng)原理》也不例外,此教學(xué)方法節(jié)省了教師板書的時間,節(jié)約了課堂時間,擴(kuò)大了教學(xué)內(nèi)容的信息量,有利于解決課時少的問題,但是另一方面,它的缺點也很明顯,每次課知識覆蓋面大,信息量大,不益于學(xué)生消化吸收,影響教學(xué)效果,同時,師生雙向交流也受到限制,學(xué)生長時間注視屏幕,易疲勞和走神。因此,必須合理運用多媒體教學(xué)資源,改進(jìn)教學(xué)方法和手段,調(diào)動學(xué)生學(xué)習(xí)積極性,提高學(xué)習(xí)效率。

2.3 傳統(tǒng)的考核方法不能全面檢查學(xué)生的學(xué)習(xí)效果

考核是檢查教學(xué)質(zhì)量的一個重要手段,對學(xué)生學(xué)習(xí)和教師教學(xué)具有導(dǎo)向作用?!稊?shù)據(jù)庫系統(tǒng)原理》是一門理論與實踐并重的課程。傳統(tǒng)的考核方式通常是以理論考試作為最終成績,使得部分學(xué)生只是靠死記硬背來通過考試,而動手能力較弱,這樣沒有全面的檢查學(xué)生的學(xué)習(xí)效果。

3 教學(xué)改革

3.1 選用優(yōu)秀教材,優(yōu)化教學(xué)內(nèi)容

采用高等教育出版社的《數(shù)據(jù)庫系統(tǒng)概論》,本套教材為普通高等教育“十五”國家級規(guī)劃教材,選用流行易上手的SQL Server 2000作為實驗平臺,為學(xué)生以后使用更新更復(fù)雜的數(shù)據(jù)庫管理系統(tǒng)打下基礎(chǔ)。因為課時少,按照教學(xué)目標(biāo)要求合理選擇教學(xué)內(nèi)容,不要意圖將所有知識點面面俱到,引導(dǎo)學(xué)生入門是關(guān)鍵所在,突出重難點,有些知識點可以適當(dāng)留給學(xué)生課下自學(xué)。

3.2 改進(jìn)教學(xué)方法和教學(xué)手段

在實際教學(xué)中,合理使用各種教學(xué)方法和手段,以學(xué)生為中心,采用啟發(fā)式,討論式等教學(xué)方法,充分利用網(wǎng)絡(luò)資源,增加學(xué)生實踐機(jī)會,激發(fā)學(xué)生學(xué)習(xí)熱情。

1) 以學(xué)生為中心的教學(xué)方法。

在上第一節(jié)課時,主要是要做好動員工作,不要講太多理論知識,語言盡量生動,舉有趣的例子,讓學(xué)生對這門課感興趣。平時在課堂上要善于把枯燥的內(nèi)容轉(zhuǎn)變?yōu)閷W(xué)生容易理解的知識。在教學(xué)過程中注重示例性講解,把書上例題講通講透,讓學(xué)生能夠融會

(下轉(zhuǎn)第1563頁)

(上接第1560頁)

貫通。在課堂上也要注意避免一言堂的情況,合理使用討論式、啟發(fā)式教學(xué)方法,充分調(diào)動學(xué)生,多與學(xué)生交互,讓學(xué)生的思維活躍起來,積極地參與思考,提出問題。在正式講課之前可先用幾分鐘進(jìn)行典型問題的講解或優(yōu)秀習(xí)作的展示,達(dá)到學(xué)生自我教育的目的。還可充分利用多媒體工具,提高教學(xué)效果,比如可把要講解的比較復(fù)雜的操作過程制作成flas,動態(tài)演示給學(xué)生看,有助于學(xué)生消化理解,也同時給了學(xué)生直觀的視覺刺激,這樣極大的增強(qiáng)了課堂教學(xué)效果和學(xué)生的興趣。

另外,實驗內(nèi)容可適當(dāng)超前教學(xué)內(nèi)容一些,鼓勵學(xué)生自學(xué)與預(yù)習(xí)。

2) 構(gòu)建網(wǎng)絡(luò)課堂。

網(wǎng)絡(luò)課堂是一種新的教學(xué)手段,是課堂教學(xué)的有益補充??梢詫⒄n件和視頻上傳到網(wǎng)上,學(xué)生可以不受時空的限制自主學(xué)習(xí)。學(xué)生和教師可以通過BBS、QQ、MSN、Email等多種方式進(jìn)行答疑或討論。學(xué)生也可在網(wǎng)上考試平臺中進(jìn)行自測學(xué)習(xí)。充分利用網(wǎng)絡(luò)資源,通過電子圖書館可以足不出戶就閱覽大量數(shù)據(jù)庫方面最新最全的書籍。

3) 強(qiáng)化管理,注重實踐。

學(xué)生座位固定,方便點名,保證出勤。實驗課內(nèi)容要求學(xué)生事先寫,及時交,避免有學(xué)生抄襲。

在開學(xué)初就布置課程設(shè)計,要求學(xué)生以小組為單位開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng),課堂上教師介紹必要的理論知識,課外,學(xué)生通過自行分配任務(wù),互相探討的學(xué)習(xí)模式完成具體的實踐工作,以此增強(qiáng)學(xué)生對數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的認(rèn)識,提高學(xué)生對本專業(yè)的興趣,培養(yǎng)動手能力和團(tuán)結(jié)協(xié)作精神。隨著教學(xué)進(jìn)程的推進(jìn),學(xué)生在教師的全程指導(dǎo)下進(jìn)行課程設(shè)計。這樣一個貫穿整個學(xué)期的課程設(shè)計對學(xué)生學(xué)好《數(shù)據(jù)庫系統(tǒng)原理》課程是很重要的。

鼓勵學(xué)生參與科研項目,參加大學(xué)生創(chuàng)新性實驗計劃等比賽,提高自己的實踐能力和團(tuán)隊協(xié)作精神。

3.3 改革考核方法,重視能力培養(yǎng)

由于該門課程的特點,對學(xué)生進(jìn)行考核時,既要注重理論知識,也要注重實踐技能的考核。因此,改變了過去只有筆試的考試方法。實踐能力的考核方式可靈活一些,由平時的實驗和期末的課程設(shè)計結(jié)合起來進(jìn)行考核。理論部分分期中和期末二次,有期中考試可以及時在學(xué)期中了解學(xué)生的學(xué)習(xí)效果,也可讓學(xué)生了解自己的水平如何,好及時調(diào)整狀態(tài)。經(jīng)過一年多的教學(xué)改革,取得了較好的教學(xué)效果。學(xué)生在做畢業(yè)設(shè)計時運用地越來越熟練,并且有部分學(xué)生在畢業(yè)后從事數(shù)據(jù)庫相關(guān)領(lǐng)域的工作。

4 結(jié)束語

以上教學(xué)方法在計算機(jī)專業(yè)和信管專業(yè)的《數(shù)據(jù)庫系統(tǒng)原理》課程進(jìn)行了試用,其教學(xué)效果反映很好。學(xué)生掌握了數(shù)據(jù)庫的基本原理和基本技術(shù),大部分學(xué)生能夠能夠自己開發(fā)一個實際可用的軟件系統(tǒng),實踐能力得到了鍛煉。

隨著數(shù)據(jù)庫技術(shù)的不斷發(fā)展,知識的日新月異,教師也需要在教學(xué)過程中不斷增加新的理論和技術(shù),嘗試新的教學(xué)方法和手段,培養(yǎng)出更多適合信息化社會的人才。

參考文獻(xiàn):

[1] 張龍翔.《數(shù)據(jù)庫原理》教學(xué)改革探討[J].考試周刊,2007(14):85-86.

[2] 曾臺盛.《數(shù)據(jù)庫原理與應(yīng)用》課程教學(xué)改革探討[J].福建電腦,2005(8):162.

篇10

[關(guān)鍵詞] 數(shù)據(jù)庫;檢索;中藥大辭典

[中圖分類號]TP392 [文獻(xiàn)標(biāo)識碼]C [文章編號]1673-7210(2007)11(c)-105-02

《中藥大辭典》是一本較為權(quán)威的常用中藥工具書,對廣大的臨床、科研、教學(xué)工作者及其他人士學(xué)習(xí)、認(rèn)識、了解、掌握中藥知識具有很大的實用價值,應(yīng)用相當(dāng)廣泛[1]。但工具書的使用有許多不便,費時,且更新周期較長。目前國內(nèi)外存在一些中醫(yī)藥數(shù)據(jù)庫檢索系統(tǒng),但這些系統(tǒng)中的全文檢索、關(guān)鍵字檢索結(jié)果僅限于單個關(guān)鍵字、詞的對應(yīng)性檢索,以致相同概念、相近表達(dá)的內(nèi)容出現(xiàn)漏檢,或需多次檢索才能滿足要求。此外用戶檢索時,根據(jù)不同的目的有不同的檢索要求,往往不需要其全部內(nèi)容,否則顯示結(jié)果繁瑣而冗長,影響檢索效率。因此設(shè)計一個具有模糊檢索、智能檢索以及能對檢索結(jié)果進(jìn)行取舍的中藥數(shù)據(jù)庫檢索系統(tǒng)非常有必要。

1 《中藥大辭典》系統(tǒng)的功能模塊

系統(tǒng)對《中藥大辭典》所包含的中藥藥材知識進(jìn)行搜集、整理與組織,并建立相應(yīng)的數(shù)據(jù)庫和數(shù)據(jù)采集模塊、信息查詢模塊,實現(xiàn)對中藥正名、別名、基源、性味、功用主治及中藥的現(xiàn)代研究應(yīng)用等的模糊查詢及智能化查詢,并能根據(jù)用戶所需達(dá)到知識的全面鏈接及檢索結(jié)果的智能化取舍的功能。其功能模塊圖見圖1。

1.1 中醫(yī)信息的數(shù)據(jù)采集模塊

數(shù)據(jù)采集功能設(shè)計模塊包括中藥各種基本信息的采集,允許增加、修改等操作;中藥數(shù)據(jù)庫的動態(tài)維護(hù)、特別是對于有關(guān)中藥的現(xiàn)代研究成果可通過此模塊及時補充更新。

1.2 查詢模塊

查詢模塊是整個系統(tǒng)的一個核心模塊,包括以下功能:

1.2.1 正、異名查詢模塊支持正名和異名的查詢,允許用戶對查詢的結(jié)果進(jìn)一步選擇鏈接。檢索方式包括中藥名稱、拼音或拼音縮寫三種方式。為了使該查詢系統(tǒng)能夠適合更多的人使用,因為使用者不一定知道正名,只知道其經(jīng)常使用的別名,或是由于地域不同,同一種中藥材的別名也不同(例如,正名:地龍;異名:蚯蚓;水楊梅,在長沙叫沙金子,在湘西卻叫穿魚串等等),系統(tǒng)重點處理了此模塊,實現(xiàn)正、異名分開查詢(圖1)。

同時考慮有些中藥名漢字很難寫或在輸入法中找不到,系統(tǒng)提供拼音和拼音縮寫方式查詢。此外,系統(tǒng)還提供了常用的別字查詢,包括同音別字和近形別字兩種情況。當(dāng)用戶在輸入要查詢的中藥名稱的過程中出現(xiàn)了同音異形的別字,或字形很相近的別字時,系統(tǒng)通過提示用戶輸入有誤,并詢問是否查詢與所輸入內(nèi)容相近的中藥名(例如,用戶將“黃連”輸入為“黃蓮”或?qū)ⅰ俺料恪陛斎霝椤俺凌谩?,系統(tǒng)可提示是否輸入黃連及沉香),用戶通過再次輸入自己想要查詢的正確的中藥名稱后查詢出此種中藥的詳細(xì)信息。

1.2.2 性味查詢模塊支持在四氣五味上實現(xiàn)正名、異名查詢模塊,除能根據(jù)單純的四氣或五味來顯示查詢結(jié)果外,還可以在四氣五味間自由組合,如性味的組合、兩種藥味的組合的查詢,并顯示查詢結(jié)果。

1.2.3 功用、主治查詢模塊實現(xiàn)根據(jù)功用、主治及它們的組合來顯示查詢結(jié)果,支持模糊查詢,即查詢結(jié)果中除顯示與輸入的功用、主治完全一致的藥物名稱外,還顯示與該名稱相近、相似的功用、主治及其相對應(yīng)的藥名及相關(guān)信息。

1.3 系統(tǒng)維護(hù)模塊

系統(tǒng)維護(hù)模塊主要是對系統(tǒng)的管理的實現(xiàn)及對查詢結(jié)構(gòu)的打印功能的實現(xiàn)。

2 關(guān)鍵技術(shù)

2.1 數(shù)據(jù)的整理與組織

數(shù)據(jù)庫中數(shù)據(jù)的結(jié)構(gòu)與內(nèi)容的完整性決定了最后查詢的速度與效率,因此在建立數(shù)據(jù)庫之前,需要對《中藥大辭典》所包含的中藥藥材知識進(jìn)行搜集、整理與組織[2]。組織的基礎(chǔ)是根據(jù)人們對中草藥知識檢索與知識發(fā)現(xiàn)的需要,內(nèi)容是形成基本符合計算機(jī)檢索要求的全面、系統(tǒng)、詳盡資料。中草藥歷史悠久,其有些屬性(如性味)的表達(dá)一般有多種,但術(shù)語的應(yīng)用卻是相對穩(wěn)定的,因此在數(shù)據(jù)組織的基礎(chǔ)上,建立“原子”知識庫,使圍繞某個核心的知識不會被漏檢。

2.2 模糊檢索的研究與實現(xiàn)

對某些含義相同或相近但表達(dá)不同的檢索要求,系統(tǒng)引入不完全知識及非精確推理,以擴(kuò)大知識的表示與處理范圍,實現(xiàn)全面檢索的目的。

由于數(shù)據(jù)庫索引不是為全文索引設(shè)計的,因此,使用like “%keyword%”時,數(shù)據(jù)庫索引是不起作用的,所以對于需要提供大量模糊查詢的檢索系統(tǒng)來說,使用LIKE語句對性能的危害是極大的。如果需要對多個關(guān)鍵詞進(jìn)行模糊匹配:like“%keyword1%” and like “%keyword2%”其效率就更低了,因此采用Oracle的Oracle Text組件。它提供了索引編制、文字和主題搜索以及文本查看功能[3]。通過設(shè)置Oracle Text詞法分析器(lexer),建立好CONTEXT索引后,就可以使用CONTAINS操作符檢索數(shù)據(jù)了。在SELECT語句中,可以在WHERE子句指定CONTAINS操作符,還可以指定返回記錄的得分(得分SCORE是指查詢結(jié)果的貼切程度),還可以有很多查詢選項,進(jìn)行邏輯、模糊、通配符、主題等查詢。

下面是我們在本系統(tǒng)中使用的一個例子:

SELECT score (1) title;

FROM oraigin_text;

WHERE contains (text, ‘辛’, 1) > 0;

這樣就可以迅速查詢出原文中包含“辛”這個詞的相關(guān)條目,而且得分越高表示查詢信息滿意度越高,下次查詢可以根據(jù)SCORE進(jìn)行排序以獲取接近的條目。

2.3 智能化檢索的研究與實現(xiàn)

智能化的設(shè)計最后在查詢中體現(xiàn)在兩個方面,一是未整理到知識庫的檢索點,系統(tǒng)從數(shù)據(jù)庫的大量數(shù)據(jù)中提取、挖掘和發(fā)現(xiàn)知識,實現(xiàn)人機(jī)交互式的學(xué)習(xí)記憶,達(dá)到智能查詢的目的。二是實現(xiàn)知識的全面鏈接及檢索結(jié)果的智能化取舍。檢索結(jié)果以總綱的方式表現(xiàn),允許用戶根據(jù)需求對檢索結(jié)果的智能化取舍,并建立廣泛、深層的鏈接。

3 結(jié)束語

中醫(yī)藥在我國已有兩千多年的歷史,《中藥大辭典》中收載的中藥達(dá)五千多味,對每一味中藥歷朝歷代又分別有不同的記載和認(rèn)識,如此龐大的數(shù)據(jù)量,采用信息技術(shù)處理是最佳方法。與其他學(xué)科和領(lǐng)域相比,信息技術(shù)在醫(yī)學(xué)領(lǐng)域,特別是中醫(yī)藥學(xué)的應(yīng)用還比較落后,中藥圖書領(lǐng)域則更為突出。面對國際社會的關(guān)注,中醫(yī)藥事業(yè)正面臨著前所未有的機(jī)遇和挑戰(zhàn),而信息技術(shù)的應(yīng)用無疑會對更好地繼承、發(fā)揚與推廣我國中醫(yī)藥學(xué)提供很多便利條件和途徑。本課題的建立,使古老的中醫(yī)藥與現(xiàn)代先進(jìn)的科技相結(jié)合,使中醫(yī)藥在基礎(chǔ)理論上實現(xiàn)對中藥藥材信息完整而全面的記錄,使之成為一套全新概念的電子化信息系統(tǒng),讓用戶比較直接并明確藥材的具體功用,在查詢的同時能夠進(jìn)行有效的學(xué)習(xí)和了解,并可通過網(wǎng)絡(luò)在不同用戶之間相互交流,不斷對知識庫進(jìn)行擴(kuò)充,修改和刪除,使中醫(yī)藥與信息技術(shù)完美結(jié)合,推動醫(yī)藥事業(yè)的發(fā)展。

[參考文獻(xiàn)]

[1]江蘇新醫(yī)學(xué)院.中藥大辭典[M].上海:上??茖W(xué)技術(shù)出版社,2006.

[2]李翔,王廣平,邵蓉.試論我國中藥產(chǎn)業(yè)信息化服務(wù)的發(fā)展戰(zhàn)略[J].中藥研究與信息,2005,7(6):41-45.