●樓健群,陳 方(金華職業(yè)技術(shù)學(xué)院 圖書館,浙江 金華 321017)
版本記錄是圖書、報(bào)刊的出版者或版權(quán)所有者進(jìn)行版權(quán)通告的記錄,也是出版物必須具有的標(biāo)志。版本記錄頁又稱版權(quán)頁。[1]報(bào)刊的版本記錄包含:期刊名稱(報(bào)紙名稱)、主辦單位、出版單位、出版日期、定價等。[2,3]有學(xué)者認(rèn)為,出版周期也是版權(quán)頁信息。[4]
近年來,由于出版發(fā)行成本的不斷增加和內(nèi)容的時常調(diào)整,報(bào)刊的定價、出版周期等版本記錄信息在跨年度時變動十分頻繁,因而連續(xù)出版物系統(tǒng)內(nèi)的相關(guān)數(shù)據(jù)也常需修改。傳統(tǒng)的修改方法是手動逐一修改,很是費(fèi)時費(fèi)力。而為了避免下一年度讀者服務(wù)工作受到影響,此項(xiàng)修改任務(wù)又必須在每年年底前的短時間內(nèi)完成,這給圖書館帶來了不小的壓力。
能否找到一種輕松更新連續(xù)出版物系統(tǒng)內(nèi)版本記錄數(shù)據(jù)的方法呢?筆者通過研究發(fā)現(xiàn):利用發(fā)行機(jī)構(gòu)網(wǎng)絡(luò)公布的報(bào)刊版本記錄信息,通過編寫一段程序并運(yùn)行之,就可以讓計(jì)算機(jī)系統(tǒng)自動完成連續(xù)出版物系統(tǒng)中相關(guān)數(shù)據(jù)的更新任務(wù),從而大大提高工作效率。下面,筆者以大連網(wǎng)信軟件有限公司開發(fā)的妙思TM文獻(xiàn)管理集成系統(tǒng)(以下簡稱“妙思TM文獻(xiàn)”)為例,介紹這一應(yīng)用方法。
“妙思TM文獻(xiàn)”是基于客戶/服務(wù)器模式、數(shù)據(jù)庫采用Microsoft SQL Server2000/2005、前臺采用 Microso ft Visual FoxPro語言開發(fā)的應(yīng)用軟件。[5]在它的連續(xù)出版物系統(tǒng)中,“年度續(xù)訂”和“期刊預(yù)訂”是十分重要的兩個功能項(xiàng)(“妙思TM文獻(xiàn)”里的“期刊”含義是廣義的,它包括所有連續(xù)出版物)?!澳甓壤m(xù)訂”項(xiàng)用于完成上年度已訂報(bào)刊的續(xù)訂,它可使續(xù)訂工作變得簡捷方便。而“期刊預(yù)訂”項(xiàng)可用于輸入或修改報(bào)刊的版本記錄信息、采購信息以及建立劃到表。
連續(xù)出版物系統(tǒng)中版本記錄數(shù)據(jù)的手工修改方法是:進(jìn)入“年度續(xù)訂”項(xiàng),以上年度批次的采購信息表和報(bào)刊劃到表為基礎(chǔ)生成下一年度批次的相對應(yīng)表;然后進(jìn)入“期刊預(yù)訂”項(xiàng),逐一調(diào)出版本記錄信息有改變的報(bào)刊數(shù)據(jù)作相應(yīng)修改,并重新生成劃到表。
上述手工方法實(shí)質(zhì)上修改了數(shù)據(jù)庫中的哪些內(nèi)容呢?這需要從“妙思TM文獻(xiàn)”的幾個關(guān)系表說起。
在“妙思TM文獻(xiàn)”中,存在著報(bào)刊信息表、采購信息表和報(bào)刊劃到表等3個表(數(shù)據(jù)庫中分別用qkxxb、cgxxb、qkhdb表示)。報(bào)刊信息表記載了訂購號、正題名、出版頻率等信息,采購信息表記錄了采購批號、每份人民幣、起止訂期等信息,報(bào)刊劃到表則記載了與此兩個表內(nèi)容直接相關(guān)的多項(xiàng)信息。手工修改方法實(shí)質(zhì)上就是修改了這3個表。如果我們能夠找到自動更新這3個表數(shù)據(jù)的方法,也就等于完成了手工修改所完成的任務(wù)。
由于“妙思TM文獻(xiàn)”是一款易于系統(tǒng)擴(kuò)展和維護(hù)、便于數(shù)據(jù)共享和交換的應(yīng)用軟件,[5]具有良好的開放性,因而通過某種方式交換其報(bào)刊信息表、采購信息表和報(bào)刊劃到表數(shù)據(jù)就不存在設(shè)計(jì)上的障礙,這為自動更新的實(shí)現(xiàn)奠定了基礎(chǔ)條件。
目前,內(nèi)地公開發(fā)行的報(bào)刊主要委托郵局發(fā)行,而中國郵政報(bào)刊訂閱網(wǎng)上已公布了郵發(fā)報(bào)刊的最常變版本記錄數(shù)據(jù)。[6]此外,有的報(bào)刊出版單位也提供了其發(fā)行報(bào)刊的類似數(shù)據(jù)。[7]這些數(shù)據(jù)均真實(shí)、可靠。雖然發(fā)行出版商的本意是方便用戶訂購報(bào)刊,但此舉卻恰好為我們實(shí)現(xiàn)版本記錄數(shù)據(jù)的自動更新提供了極好的數(shù)據(jù)源。我們可以把它們下載下來,通過一定的技術(shù)手段轉(zhuǎn)化成連續(xù)出版物系統(tǒng)所能夠接收的數(shù)據(jù)。
郵發(fā)報(bào)刊信息中有“郵發(fā)代號”項(xiàng),其它發(fā)行機(jī)構(gòu)的報(bào)刊信息中也有“代號”項(xiàng),而連續(xù)出版物系統(tǒng)中的“訂購號”項(xiàng)通常輸入報(bào)刊的郵發(fā)代號或代號。它們在各自的系統(tǒng)中都可用來區(qū)分不同的報(bào)刊品種,具有唯一性。只要編寫程序時將郵發(fā)代號(或代號)與訂購號作為比較關(guān)鍵字,凡是兩者內(nèi)容完全一致時才進(jìn)行一一對應(yīng)的數(shù)據(jù)替換,就能使自動更新后的數(shù)據(jù)十分精準(zhǔn)。
在具體操作時做到:一是更新時間選擇在閉館時間;二是更新前做好數(shù)據(jù)備份;三是僅對相關(guān)幾個表的相應(yīng)內(nèi)容操作。只要按規(guī)范操作,自動更新的運(yùn)行就十分安全。
下面以報(bào)刊品種為郵發(fā)期刊,征訂報(bào)刊年度為2009年度,版本記錄變化項(xiàng)為期刊名稱、全年價、出版周期(系統(tǒng)中分別用正題名、每份人民幣、出版頻率表示)為例,說明自動更新的具體步驟。
(1) 建立臨時數(shù)據(jù)表
在閉館狀態(tài)下,使用MS-SQL企業(yè)管理器進(jìn)行以下操作:
建立名為“BakD BLibrary”的數(shù)據(jù)庫,然后將“DBLibrary”數(shù)據(jù)庫中的“qkxxb”“cgxxb”“qkhdb”3張數(shù)據(jù)表導(dǎo)入“BakDB Library”,進(jìn)行數(shù)據(jù)備份。
建立名為“youzheng”“cbplb”“l(fā)sqkxxb”等 3個數(shù)據(jù)表,其作用、數(shù)據(jù)類型及字段見表。“cbplb”表中插入的數(shù)據(jù)為出版頻率、起止訂期。
(2)版本記錄數(shù)據(jù)采集
●下載郵發(fā)期刊版本記錄信息。登陸中國郵政報(bào)刊訂閱網(wǎng)→選擇“2009年雜志”→檢索,顯示有8094條郵發(fā)期刊→下一頁→在瀏覽器地址欄中找到“page=2&page_size=10”,將此處改為“page=1&page_size=8094”→回車→將網(wǎng)頁保存到本機(jī),重命名為“data.html”→將之用記事本打開,刪除版本記錄表格以外內(nèi)容后保存。
●將下載信息轉(zhuǎn)換成“youzheng”表數(shù)據(jù)。在本機(jī)IIS中發(fā)布data.html→逐行讀取data.html中表格→每行單元格中的數(shù)據(jù)用逗號隔開并保存到“data.txt”→使用SQL企業(yè)管理器將“data.txt”導(dǎo)入到“youzheng”表。
●生成“l(fā)sqkxxb”表數(shù)據(jù)。代碼如下:
Insert intolsqkxxb select A.訂購號,A.正題名,A.出版頻率,B.起止訂期,A.每份人民幣from youzhengA,cbplbBwhereA.出版頻率=B.出版頻率。
(3) 數(shù)據(jù)的更新
●報(bào)刊信息表數(shù)據(jù)的更新。將“l(fā)sqkxxb”表導(dǎo)入“DBLibrary”數(shù)據(jù)庫,然后選擇“DBLibrary”,在“qkxxb”表中增加“每份人民幣”“起止訂期”兩個字段(此舉為更新“cgxxb”表數(shù)據(jù)作準(zhǔn)備,也為了與“l(fā)sqkxxb”表對接),然后更新“qkxxb”表數(shù)據(jù)。代碼如下:
Updateqkxxbset正題名=B.正題名,出版頻率=B.出版頻率,每份人民幣=B.每份人民幣,起止訂期=B.起止訂期fromqkxxb A,lsqkxxb Bwhere A.訂購號=B.訂購號。
此時,“qkxxb”表中的MARC字段數(shù)據(jù)尚未生成,需要通過下列兩步來完成:
第一步,用“妙思TM文獻(xiàn)”的“表到機(jī)讀目錄轉(zhuǎn)換器”功能生成*.iso文件。步驟是:系統(tǒng)工具→表到機(jī)讀目錄轉(zhuǎn)換器→數(shù)據(jù)源→指向DbLi brary→選擇“qkxxb”表→下一步→自動對應(yīng)→“Qkxxbid”對應(yīng)機(jī)讀字段“記錄控制號”→保存文件(文件名為marc.iso)→開始轉(zhuǎn)換。第二步,利用marc.iso中的“記錄控制號”與“qkxxb”表中的“Qkxxbid”一一對應(yīng)關(guān)系,更新“qkxxb”表中“Marc”字段中的相應(yīng)內(nèi)容。應(yīng)用程序原理是:逐行讀取文件流marc.iso→截取“記錄控制號”→“qkxxb”表中找到與之對應(yīng)的報(bào)刊→更新此報(bào)刊的marc字段為此行→直到文件末尾。
●采購信息表數(shù)據(jù)的更新。代碼如下:
Upda tecgxxbset每份人民幣=B.每份人民幣,起止訂期=B.起止訂期fromcgxxb A,qkxxb Bwhere A.qkxxbid=B.qkxxbidandA.采購批號='2009'(采購批號必須要有)
●劃到表數(shù)據(jù)的生成。先將原來的劃到表內(nèi)容清除,代碼如下:Delete fromqkhdb where cgxxbid in(selectcgxxbidfromcgxxbwhere采購批號=‘2009’),然后模仿手工修改方法承載生成劃到表。郵發(fā)期刊的出版頻率有多種,現(xiàn)以生成“月刊”劃到表的流程圖為例,其它出版頻率的劃到表可參照此一一生成。
至此,郵發(fā)期刊的名稱、全年價、出版周期等版本記錄項(xiàng)已更新完畢。
“月刊”劃到表流程圖
上述方法可以自動完成連續(xù)出版物系統(tǒng)中絕大部分報(bào)刊版本記錄數(shù)據(jù)的修改任務(wù),這不僅能夠大大提高數(shù)據(jù)修改的工作效率,同時還能夠有效改善編目質(zhì)量(因?yàn)樽詣痈路椒ú捎冒l(fā)行出版商提供的標(biāo)準(zhǔn)數(shù)據(jù),可杜絕手工修改時產(chǎn)生的錄入差錯現(xiàn)象)。目前,許多圖書館自動化軟件與“妙思TM文獻(xiàn)”一樣具有良好的開放性,因此在這些自動化軟件中也理應(yīng)可以實(shí)現(xiàn)類似的自動更新,因而這種方法具有積極的推廣意義。
[1]李法惠.學(xué)術(shù)期刊的版本記錄不能忽視[J].科技出版,2004(6):34-36.
[2]中華人民共和國新聞出版署.期刊出版管理規(guī)定[EB/OL].[2009-05-02].http://law.baidu.com/pages/chinalawinfo/6/7/c82e7b7ad35e216d9f9990bc7fcf7f00_0.html.
[3]中華人民共和國新聞出版署.報(bào)紙出版管理規(guī)定[EB/OL].[2009-05-02].http://law.baidu.com/pages/chinalawinfo/6/7/f09546219247c3a32a751267cbc1c07d_0.html.
[4]龐富祥.社會科學(xué)期刊版權(quán)頁應(yīng)規(guī)范化[J].編輯之友,2005(6):60-61.
[5]大連網(wǎng)信軟件有限公司.連續(xù)出版物系統(tǒng)聯(lián)機(jī)幫助 [EB/OL].[2009-05-02].妙思TM文獻(xiàn)管理集成系統(tǒng).http://www.ni-soft.com.
[6]中國郵政集團(tuán)公司.中國郵政報(bào)刊訂閱網(wǎng)[EB/OL].[2008-12-20].http://bk.chinapost.com.cn/.
[7]中國人民大學(xué)書報(bào)資料中心.人大書報(bào)資料中心網(wǎng) [EB/OL].[2008-12-20].http://www.zlzx.org/.