文/內(nèi)蒙古通遼職業(yè)學院圖書館 徐榮全
電子版館藏數(shù)據(jù)回溯中的交叉、重疊、阻滯問題處理
文/內(nèi)蒙古通遼職業(yè)學院圖書館徐榮全
在圖書編目數(shù)據(jù)回溯建庫實踐中,電子編目數(shù)據(jù)的回溯是其中重要環(huán)節(jié),電子數(shù)據(jù)在導入“圖書館集成管理系統(tǒng)”的新數(shù)據(jù)庫后,出現(xiàn)了交叉、重疊和阻滯問題;針對這些問題的探討,從中尋求解決方案。希望為其他中小圖書館的回溯建庫工作提供借鑒。
電子數(shù)據(jù);編目數(shù)據(jù);交叉;重疊;阻滯
在近代中國圖書館的發(fā)展歷程中,有三個關鍵性影響因素:第一個是《杜威十進分類法》的傳人使中國圖書館的文獻資源分類體系開始參照《杜威十進分類法》按等級列舉式的學科體系分類;一改歷史上沿襲上千年的無論是“七略”的六分法還是“經(jīng)、史、子、集”的四分法;使圖書的分類方法真正意義的走上了符合科學規(guī)律的管理軌道。第二是計算機技術的發(fā)展,使圖書的編目、標引工作由人工卡片式著錄轉為利用計算機編目、標引。第三是機讀目錄格式MARC標準的執(zhí)行,使計算機編目實現(xiàn)了標準化;為與國際接軌,從數(shù)據(jù)結構方面提供了保障;并使網(wǎng)絡環(huán)境下的編目數(shù)據(jù)共享成為可能。這些影響因素中特別是計算機技術的發(fā)展對圖書館的發(fā)展起了飛躍式的前進作用;但同時也帶來了前所未有的技術上的交叉、融合與跟進。
近20年是圖書館事業(yè)發(fā)展最快的時期;由于從計算機編目到集成管理的普遍應用,各中小圖書館都經(jīng)歷了一段爬升期。這一時期新舊技術更替、交融頻繁,同時也隨著技術的更新而凸顯出一些新舊技術下的技術轉換難題?;厮萁◣旃ぷ魇歉髦行D書館在技術交替時期所遇最耗時、耗力且技術難題也是最多的一項工作。特別是在圖書館計算機集成管理條件下的回溯建庫工作,不經(jīng)過系統(tǒng)化的深入研究的一些草率數(shù)據(jù)回溯行為有可能造成整個系統(tǒng)在前臺表現(xiàn)阻滯。
隨著圖書館從傳統(tǒng)業(yè)務方式向計算機編目和計算機集成業(yè)務管理的轉移,圖書數(shù)據(jù)的記錄也要經(jīng)歷一次甚至數(shù)次轉移。特別是高職院校圖書館所經(jīng)歷的過程會更復雜:因大多數(shù)高職院校圖書館都經(jīng)歷了一個在院校合并中的圖書館合并過程;這給回溯建庫工作造成的混亂性無疑是雪上加霜,在這種情況下,回溯建庫前的圖書編目就有幾種情況并存:一是手工卡片式著錄的數(shù)據(jù);二是使用集成管理系統(tǒng)前用原有系統(tǒng)計算機著錄的電子編目數(shù)據(jù);三是各館合并前用各自計算機著錄的電子編目數(shù)據(jù);四是使用集成管理系統(tǒng)后著錄的標準MARC數(shù)據(jù)。
這幾種情況在本館就曾并存過。在多種編目數(shù)據(jù)并存情況下的回溯建庫主要有兩種方法:第一,由卡片或圖書逐一回建著錄。第二,由原來的非集成管理環(huán)境下的電子機編數(shù)據(jù)導入,之后再修改完善。為提高效率,回溯建庫前的電子版數(shù)據(jù),能利用SQLserver的“數(shù)據(jù)轉移技術”導入新數(shù)據(jù)庫的都要盡量導入和利用。這樣可避免不必要的頻繁重復錄入。
本文所探究的就是這部分電子數(shù)據(jù)在導入“集成管理系統(tǒng)”的新數(shù)據(jù)庫后,可能交叉、重疊和阻滯;在出現(xiàn)這些問題時,怎樣在新數(shù)據(jù)庫管理系統(tǒng)中解決是下面研究的內(nèi)容。
因原系統(tǒng)應用的電子編目數(shù)據(jù)都是過去業(yè)務中積累下來的準確數(shù)據(jù),利用好這些電子編目數(shù)據(jù),進行數(shù)據(jù)回溯可大大提高回溯建庫效率和準確率。
但這些數(shù)據(jù)由于歷史的不連貫性,導入新的集成管理系統(tǒng)數(shù)據(jù)庫后,很多數(shù)據(jù)上的沖突就會凸顯出來;特別是數(shù)據(jù)的交叉、重疊矛盾尤為突出。它表現(xiàn)在前臺應用管理模塊上的現(xiàn)象就是導致部分圖書和期刊的“流通數(shù)據(jù)”受阻,造成不能實現(xiàn)讀者機上借還。這種情況在本館就發(fā)生存在,針對這些問題本館承擔了通遼職業(yè)學院的這一課題研究項目。此針對性的探討研究應該具有某些普遍意義,以此為各中小館提供借鑒。
目前各中小圖書館所用集成管理系統(tǒng)雖各不相同,但在后臺的數(shù)據(jù)庫管理系統(tǒng)幾乎都是運用的SQLserver數(shù)據(jù)庫管理軟件。那么對后臺SQLserver軟件進行的研究也就對各中小圖書館普遍適用。研究方法是通過建立模擬的數(shù)據(jù)庫模型;深入研究關系型數(shù)據(jù)庫的概念模型、關系模型(邏輯模型)及物理層模型的邏輯結構;分析各電子編目“相關數(shù)據(jù)”對應數(shù)據(jù)庫的庫名、基本表名和相對應的字段;研究各字段的屬性:字符型、數(shù)值型、長度、精度、定長、可變長等等,摸索基本表的屬性變化所對應物理層數(shù)據(jù)存儲的物理變化規(guī)律。
通過大量深入研究發(fā)現(xiàn):前臺流通信息受阻是由于電子數(shù)據(jù)回溯中產(chǎn)生了數(shù)據(jù)交叉、重疊而造成的。這種交叉、重疊產(chǎn)生的原因:
一是在導入數(shù)據(jù)前,兩批數(shù)據(jù)位數(shù)不同(為說明問題下面將以登錄號為例)例:一批登錄號為五位“00100至00199”,另一批登錄號為六位“000100至000199”,五位字符和六位字符本身并不沖突;但由于集成管理系統(tǒng)中的“數(shù)據(jù)庫”在“館藏信息表”中,“登錄號”字段的屬性設定是“定長”即固定位數(shù)(長度一般為8或10)這樣導入的兩批“登錄號”就都變成了八位(以長度8位為例)“00000100至00000199”這樣就由于不同位數(shù)“數(shù)據(jù)”的交叉而造成了數(shù)據(jù)的重疊沖突。
二是期刊和圖書數(shù)據(jù)導入新數(shù)據(jù)庫系統(tǒng)中的目的地并不是同一個“數(shù)據(jù)庫”,一個是“圖書數(shù)據(jù)庫”,一個是“期刊數(shù)據(jù)庫”。還以“登錄號”數(shù)據(jù)為例:理論上講,因兩種“登錄號”在導入前和導入后都應屬不同“數(shù)據(jù)庫”的不同“館藏表”,根本不存在交叉、重疊問題。但事實卻是:期刊的“登錄號000100—000199”和圖書的“登錄號000100—000199”雖導入時相安無事,但導入后的表現(xiàn)卻是只能有一樣(或期刊或圖書)在前臺流通。
以上的探討是在數(shù)據(jù)庫理論研究前提下,經(jīng)多次試驗得出的結論;即數(shù)據(jù)回溯后,影響前臺流通、產(chǎn)生數(shù)據(jù)阻滯的原因是數(shù)據(jù)的交叉和重疊。交叉和重疊的概念是:在同一數(shù)據(jù)庫中出現(xiàn)‘主碼’相同為重疊;在不同數(shù)據(jù)庫中出現(xiàn)兩個相同的“主碼”為交叉。
如前分析,對導入同一“數(shù)據(jù)庫”、同一“基本表”、同一“字段”的不同數(shù)據(jù)源的數(shù)據(jù),當出現(xiàn)數(shù)據(jù)交叉、重疊時,表現(xiàn)為:或因數(shù)據(jù)交叉、重疊難以導入;或在前臺表現(xiàn)如前第四節(jié)所述故障。對這類問題,最好在物理層面解決;經(jīng)多次在“數(shù)據(jù)庫”模型上試驗研究發(fā)現(xiàn):利用“數(shù)據(jù)庫”存儲介質(zhì)的物理記憶性,可使導入的有交叉、重疊的數(shù)據(jù),通過變化“字段長度”而使存儲在“數(shù)據(jù)庫”硬盤上的數(shù)據(jù)相異化,也就是說即使是同一數(shù)據(jù)亦可在第二次導入時,使其成為與第一次導入時“長度”不同的數(shù)據(jù)。
具體實現(xiàn)方法(還以登錄號為例):兩批有交叉、重疊的數(shù)據(jù)分別是“登錄號”五位字符“00010—00100”和六位字符“000010—000100”或兩批登錄號都是五位字符,導入時先導入位數(shù)少的,此處先導入五位字符登錄號。首先在后臺打開SQLserver的“企業(yè)管理器”找到要導入的數(shù)據(jù)庫,打開“館藏信息表”的“設計表”功能;找到字段名“登錄號”將其字段長度設為5;然后通過SQLserver的數(shù)據(jù)轉移工具將需要設為五位字符的“登錄號”導入;導入五位字符“登錄號00010—00100”后,其在“集成管理系統(tǒng)”新數(shù)據(jù)庫中的長度將固定為五位,在前臺只有輸入五位字符“登錄號”時才能將其調(diào)出。
導入第二批“登錄號”之前一定要再次打開“企業(yè)管理器”——打開同一數(shù)據(jù)庫的“館藏信息表”的“設計表”功能,將“登錄號”的“長度”改為6,然后再將第二批“登錄號”數(shù)據(jù)導入;第二批“登錄號”甚至可以是和第一批“登錄號”數(shù)據(jù)完全重疊(如同為五位字符00010—00100)但導入后的新“數(shù)據(jù)庫”數(shù)據(jù)卻變成了六位字符的“登錄號000010—000100”。第二批“登錄號”在前臺表現(xiàn)為,只有輸入夠六位字符才能將其調(diào)出(而第一批登錄號是輸入夠五位字符調(diào)出)。這樣通過利用數(shù)據(jù)庫的物理記憶功能,解決了兩批“登錄號”交叉、重疊沖突。
以上方法一定要在新系統(tǒng)“數(shù)據(jù)庫”沒有數(shù)據(jù)情況下使用,當把所有電子數(shù)據(jù)回溯完成后,應再次把“登錄號長度”改為8;這樣以后新書著錄時的“登錄號”就開始按八位處理,可同以前“回溯建庫數(shù)據(jù)”區(qū)別開來。系統(tǒng)穩(wěn)定下來后,就不要再輕易更改“登錄號長度”了。
對導入不同數(shù)據(jù)庫的編目數(shù)據(jù)(如期刊的登錄號和圖書的登錄號),可通過上面的方法先在“企業(yè)管理器”中,分別在期刊數(shù)據(jù)庫和圖書數(shù)據(jù)庫的“館藏信息表”中將“登錄號字段”的“長度”分別設為5位或6位;然后將“期刊登錄號”和“圖書登錄號”分別導入各自的數(shù)據(jù)庫。這時“期刊登錄號”和“圖書登錄號”是有重疊和交叉的,在前臺往往形成部分流通數(shù)據(jù)阻滯。
第二步應打開“企業(yè)管理器”將“登錄號”的“字段長度”改為8位,然后打開SQLserver系統(tǒng)中的“查詢分析器”,通過編入T-SQL語句,批量修改其中一個數(shù)據(jù)庫中的“登錄號”字段的數(shù)據(jù)來使“期刊數(shù)據(jù)庫”和“圖書數(shù)據(jù)庫”的“登錄號”徹底區(qū)分開。這里以修改“期刊登錄號”為例:假設期刊數(shù)據(jù)庫名為“中文期刊”、館藏信息表名為“館藏”、登錄號字段名為“登錄號”;準備將先前導入的六位字符“登錄號000010-000100”前面全部加兩位字符“Z0”,使其變成八位字符的“登錄號Z0000010-Z0000100”徹底與圖書的“登錄號000010-000100”區(qū)別開。通過“查詢分析器”寫入的T-SQL語句如下面程序:
USE 中文期刊
UPDATE 館藏
SET登錄號=‘Z0’+ 登錄號
GO
執(zhí)行該程序即可將“中文期刊”數(shù)據(jù)庫中的名為“館藏”的基本表中的列名為“登錄號”字段的整列所有“登錄號數(shù)據(jù)”前面加兩個字符“Z0”;使例子中期刊的“登錄號000010-000100”修改為“Z0000010-Z0000100”,徹底解決了由于期刊和圖書的登錄號數(shù)據(jù)交叉、重疊而造成的前臺事故。
執(zhí)行上面程序有兩點需特別注意:
一是此程序是無條件修改所選“基本表”的所修改“字段”的全部“列數(shù)據(jù)”。執(zhí)行此程序的前提是對導入的整列數(shù)據(jù)全部修改。如果在更改前就錄入了不需更改數(shù)據(jù),“修改程序中”就要加入限制語句WHERE和限制條件,實現(xiàn)起來會很麻煩。
二是在執(zhí)行此UPDATE語句時,應提前在SQLserver的“企業(yè)管理器”中展開要修改的表并打開“設計表”;在“設計表”對話框中,點擊工具欄的“管理關系”圖標,選中“級聯(lián)更新相關的字段”功能。這樣在修改要更新的主碼值時,可同時將關聯(lián)子表中的外碼值一起修改。否則系統(tǒng)有可能拒絕運行此程序。
只要靈活運用上面兩個方法,在回溯數(shù)據(jù)時,就能解決所有各種數(shù)據(jù)的交叉和重疊對系統(tǒng)所造成的影響。特別是在回溯建庫前就設計好整個電子數(shù)據(jù)的回溯方案,更可大大提高回溯效率。
由于管理系統(tǒng)更新或各中小圖書館的合并而引發(fā)回溯建庫,回溯建庫中的電子數(shù)據(jù)回溯是其中重要一環(huán);本館在實踐中針對回溯數(shù)據(jù)時所走過彎路和所遇難題,進行了針對性的課題研究;并提出解決方案和找出應避免的彎路。希望為其它中小圖書館的回溯建庫工作提供借鑒。
(本文系通遼職業(yè)學院課題:圖書編目的創(chuàng)新性研究(項目編號:TZYKT15021)研究成果之一。)
[1]李調(diào)陽.SQL Server 2000中文版[M].北京:海洋出版社,2009.
[2]李祝啟.ISO模式下公共圖書館中文圖書編目質(zhì)量控制研究[J].圖書館雜志,2015(3).
[3]何玉潔.數(shù)據(jù)庫基礎及應用技術[M].北京:清華大學出版社,2009.