●朱東妹(安徽師范大學圖書館,安徽 蕪湖 241003)
云環(huán)境下基于SQL的圖書清點方案設計與實踐
——以安徽師范大學圖書館為例
●朱東妹(安徽師范大學圖書館,安徽蕪湖241003)
[關鍵詞]云環(huán)境;圖書清點;SQL
[摘要]設計一種基于結構化查詢語言SQL的圖書清點方案,同時根據工作實踐,對清點過程中出現的各種難題加以分析,以力求清點的準確性與全面性,為領導決策和圖書館的藏書建設提供依據。
中國高等教育文獻保障系統(tǒng)(CALIS)三期推出了基于SaaS技術的數字圖書館云服務平臺,直接面向圖書館提供最終的應用服務,其中CALIS文獻搜索引擎“E讀”,[1]通過整合成員館提交的館藏OPAC數據以及電子資源相關數據及接口,將單個成員館的館藏信息資源集合起來,形成一個全國范圍內的集成化的館藏信息資源庫,將整合后的資源提供給所有的成員館用戶使用。[2]在E讀的檢索平臺中,既可以在全國范圍內檢索,也可以在本省、本市、本校范圍內進行檢索。在這種環(huán)境下,對圖書館館藏數據的準確性要求更高,必須通過圖書清點,解決館藏數據庫OPAC檢索的顯示狀況與書庫中實際圖書狀況不一致的現象。
安徽師范大學圖書館藏書年份較長,歷經八十五年的歷史嬗遞,圖書館以館藏古籍為特色,目前是CALIS成員館之一。1999年,開始利用ILAS圖書管理系統(tǒng)做機編數據,并對以前的圖書進行回溯建庫,當時由于時間緊、人員少等因素,勢必影響建庫質量。2008年新館建成,對全館館藏布局進行調整,并對藏書進行整合和劃分,部分閱覽室進行搬遷,整個過程可能會導致一些圖書錯架、遺失,這些都會影響?zhàn)^藏數據的準確性。每年暑假閱覽室工作人員都會專門對圖書進行整理與清點,但都是局部簡單地進行圖書實際冊數和ILAS系統(tǒng)里統(tǒng)計的圖書數量進行比較,沒有在全館數據范圍內深入地進行數據比對與分析。因此,始終有一些遺留問題長期得不到解決,如有實物無數據、有數據無實物、條碼破損等問題?;诖?,2014年暑假對全開架的借閱圖書進行徹底地清點,包括花津校區(qū)敬文圖書館的三個社會科學圖書閱覽室和自然科學圖書閱覽室,赭山校區(qū)圖書館的自然科學閱覽室和社會科學閱覽室。根據整體部署,安徽師范大學圖書館工作人員按校區(qū)區(qū)域分步實施,清點期間停止清點區(qū)域所有圖書的典藏、流通業(yè)務,閉架整理,避免因新書典藏或讀者借閱帶來的圖書流動影響清點結果的準確性。
為了利用SQL對圖書清點數據進行深入分析與挖掘,制定了圖書清點工作的基本方案,主要包括圖書清點前準備、系統(tǒng)數據提取、條碼信息采集、數據比對、后續(xù)處理等環(huán)節(jié)。
2.1圖書清點的準備工作
安徽師范大學圖書館在圖書清點工作之前,專門成立由館領導班子和相關部門主任組成的暑期工作小組,制定《圖書館關于今年暑期閱覽室開放、圖書清查與整架工作實施方案》,利用暑期時間集中力量分批對普通圖書閱覽室圖書進行全面、徹底的整架和數據清查工作。整個清點工作小組分別由技術組、編目組、條碼采集組和后勤組組成。技術組負責計算機、條碼采集等設備的安裝及后期數據分析等工作;編目組負責條碼采集技術的培訓工作及每天采集數據的收集、整理及復核等工作;條碼采
集組負責圖書的整架及條碼采集;后勤組負責電源及各種書車的協(xié)調保障工作等,以減少不必要的工作環(huán)節(jié)和后續(xù)工作的復雜性。
2.2系統(tǒng)數據提取
由于本次圖書清點比對分析整個過程不是在圖書管理系統(tǒng)ILAS中自帶的圖書清點模塊中進行,而是利用SQL SERVER 2008工具,所以首先需要對圖書館的所有圖書館藏信息進行提取,導入到SQL SERVER 2008對象資源管理器中,進行比對分析。系統(tǒng)數據的提取可以在圖書管理系統(tǒng)中的館藏輸出中進行,也可以在后臺數據庫中利用SQL語句按需要直接提取中央館藏庫中的數據。前者簡單,但是數據提取速度慢;后者數據提取速度快,但是必須在熟悉圖書管理系統(tǒng)中各表之間的關系基礎上,才能準確提取數據。提取的圖書信息包括書條碼號、題名、責任者、出版者、出版地、價格、索取號、分類號、ISBN號、館藏地點、流通類型、館藏狀態(tài)等字段。
2.3條碼信息采集
條碼信息采集過程中,對每個閱覽室的工作人員進行了分組,每組2人,分成5組,合計10人。條碼信息采集使用的采集工具,就是平時各閱覽室借還圖書的普通條碼采集器。方法是將條碼采集器連接在普通臺式電腦主機上,作為條碼采集的輸入設備,電腦主機放在書車上,每臺電腦主機都接在有足夠長的電源線的電源插線板上,可以移動,以便條碼的采集。
條碼采集前先做好圖書的整架工作,對每個閱覽室書架進行編號,同時對各個書架各層進行明顯的編號和分隔,點清每個架上實際圖書數量,條碼采集中按順序進行,以便使每個條碼與圖書位置對應。每個小組負責若干個書架,值得注意的是同一個書架的條碼采集最好由一個小組完成。對條碼采集過程中不能正常識別的條碼圖書,要進行手工錄入,并在相應的圖書書脊處貼上色標,以便采編部門最后統(tǒng)一重新打印條碼。
條碼采集輸入是選擇在excel工作表中進行,因為excel中可以方便看到當前條碼對應的序號。為了防止條碼采集輸入過程中缺位、多位及識別出非法字符,對工作表輸入列,進行了通用數據校驗設置。方法是在excel工作表中選中將要存入條碼數據的列,再選擇數據菜單下的數據有效性進行設置。這樣可以減少數據的出錯率。文件保存時,命名規(guī)則是“閱覽室+清點架號+清點類別數量+初始確認+復核確認+抽查通過”。
2.4數據比對
在數據比對前,初步分析每個閱覽室采集到的條碼數據,主要分為三部分:①本閱覽室的圖書;②系統(tǒng)中應屬于其他閱覽室的圖書;③系統(tǒng)中沒著錄信息的圖書。同時每個閱覽室系統(tǒng)中提取的圖書信息數據,主要分為三部分:①本閱覽室的圖書;②系統(tǒng)數據在該閱覽室,但是實體圖書在別的閱覽室;③丟失或損壞。
數據比對思路:將各閱覽室提取的館藏數據及收集到的條碼,首先在本閱覽室進行比對分析,然后再分別與全館條碼和全館系統(tǒng)數據進行比對,全館范圍數據的比對主要用來獲得亂架圖書在館里的真實館藏地點、圖書是否丟失、圖書在系統(tǒng)中是否有著錄信息等。最后得出圖書館藏信息與掃碼信息比對關系(見圖1)。圖1中各部分從某閱覽室“館藏數據”、收集到的“條碼數據”兩個不同的角度分析,分別表示不同的意義。
圖1 圖書館藏信息與掃碼信息比對關系
以某閱覽室“館藏數據”角度分析,圖1中的大圓c1表示系統(tǒng)中全館館藏數據,小圓c2表示系統(tǒng)中本閱覽室館藏數據,矩形j表示本閱覽室收集到的條碼數據,陰影P1部分表示本閱覽室館藏信息和條碼信息比對命中的數據,即正確數據,陰影P2部分表示其他閱覽室的圖書亂架(或館藏地點錯誤)到本閱覽室的圖書數據,大圓c1之外矩形j之內空白P3部分表示有條碼但是圖書管理系統(tǒng)中沒有著錄信息。
以某閱覽室“條碼數據”角度分析,圖1中的大圓c1表示全館收集到的條碼數據,小圓c2表示本閱覽室收集到的條碼數據,矩形j表示系統(tǒng)中本閱覽室的館藏數據,陰影P1部分表示本閱覽室條碼信息和館藏信息比對命中的數據,即正確數據,陰影P2部分表示本閱覽室的圖書亂架(或館藏地點錯誤)到其他閱覽室的圖書數據,大圓c1之外矩形j之內空白P3部分表示系統(tǒng)有館藏信息但是沒有條碼,表示圖書丟失。
2.5結果核對與反饋
將各種比對結果,生成表格,分發(fā)給各個閱覽室進行問題圖書的核對與處理。核對正確就可以在系統(tǒng)中通過導入條碼文件進行批量修改。同時,技術部數據分析工作人員、采編部編目工作人員及流通部工作人員,幾方進行溝通,總結分析各種問題圖書發(fā)生的原因,以便在日后的工作中進行改進。
3.1建立比對數據庫
在SQL SERVER 2008對象資源管理器中建立比對數據庫,數據庫中包括各閱覽室圖書館藏信息表、各閱覽室條碼表、全館館藏信息視圖、全館條碼視圖,視圖是在各種表的基礎上建立的。其中,各閱覽室條碼表,包括字段:條碼號、條碼序號、架號、掃碼地點、掃碼日期。下面以社科(一)閱覽室為例,說明數據比對過程中關鍵問題及其SQL語句的使用,語句中用“S1”表示社科(一)。
3.2以某閱覽室“館藏數據”角度分析
(1)比對步驟。從某閱覽室“館藏數據”角度出發(fā),進行數據比對,可以得到本閱覽室亂架到其他閱覽室的圖書、丟失圖書,具體比對分析流程(見圖2)。圖2中將該閱覽室館藏數據與在該閱覽室采集到的條碼進行比對,比對到的數據,就是正確的館藏數據。沒有比對到的數據再與全館其他所有閱覽室采集到的條碼進行對比,此時比對到的數據就是其他閱覽室亂架(或館藏地點錯誤)到該閱覽室的圖書。再次沒有比對到的數據就是圖書丟失或破損數據。
圖2 以某閱覽室“館藏數據”角度比對分析流程
s
(2)比對語句。步驟1:用S1系統(tǒng)數據在S1收集到的條碼中尋找確實存在的數據,即比對出正確的數據。
select * into S1_FIND_CORRECT from dbo.S1 where書條碼號in(select條碼號from dbo. S1_TM)
步驟2:用S1系統(tǒng)數據在S1收集到的條碼中尋找沒存在于條碼中的數據。
select * into S1_NO_FIND from dbo.S1 where書條碼號not in(select書條碼號from S1_FIND_CORRECT)
通過以上兩個步驟將S1閱覽室系統(tǒng)中的圖書分出兩部分,一部分是有掃碼的,另一部分是沒有被掃碼的。掃到碼的第一部分是正確的,沒掃到碼的第二部分再尋找原因。
步驟3:將沒有被掃到碼的S1系統(tǒng)數據再在全館的掃碼中尋找。
select * into S1_FIND_QUANGUAN from dbo.S1_NO_ FINDwhere書條碼號in(select條碼號fromdbo.View_TM _ZONG)
步驟4:將在其他閱覽室找到的圖書館藏數據,與掃碼表關聯,找出是在哪些閱覽室的掃碼表中,以便到那些閱覽室將書找出來,將館藏地點改到S1。
SELECT * into S1_亂架_去其他室取回歸位FROM S1_FIND_QUANGUAN
LEFT JOIN dbo.View_TM_ZONG
ONS1_FIND_QUANGUAN.書條碼號=dbo.View_TM_ ZONG.條碼號
步驟5:將(步驟2)中沒找到的數據,除去(步驟3)亂架到其他閱覽室的圖書,并且目前館藏狀態(tài)不是“丟失”和“剔除”的數據,剩下的應該是丟失的圖書。
select * into S1_丟失from dbo.S1_NO_FIND where書條碼號notin(select書條碼號fromdbo.S1_FIND_QUANGUAN)and館藏狀態(tài)notin('f','g')
3.3以某閱覽室“條碼數據”角度分析
(1)比對步驟。從某閱覽室“條碼數據”角度出發(fā),進行數據比對,可以得到其他閱覽室亂架到本閱覽室的圖書、系統(tǒng)沒有著錄信息圖書,具體比對分析步驟(見圖3)。圖3中將該閱覽室采集到的條碼與該閱覽室館藏數據進行比對,比對到的數據,就是正確的條碼數據。沒有比對到的數據再與全館其他所有閱覽室館藏數據進行對比,此時比對到的數據就是該閱覽室亂架(或館藏地點錯誤)到其他閱覽室的圖書。再次沒有比對到的數據就是系統(tǒng)沒有著錄信息數據,
對其進行回溯建庫工作。
圖3 以某閱覽室“條碼數據”角度比對分析流程
(2)比對語句。步驟1:找出在S1中掃出,但是沒用上,即沒對比到書的條碼。
select * into S1_沒用上條碼from dbo.S1_TMwhere條碼號notin(select書條碼號fromS1_FIND_CORRECT)
步驟2:將步驟1中得到的條碼,在全館館藏數據中尋找。
select * INTO S1_沒用上條碼_在館全找到from S1_沒用上條碼where條碼號in(select書條碼號from dbo.View_ZONG)
步驟3:將在其他閱覽室找到的條碼數據,與全館館藏數據表關聯,找出這些條碼圖書的館藏信息,以便將圖書找出來給其他閱覽室歸位,將館藏地點改到其他閱覽室。
SELECT * into S1_亂架_找出給其他室歸位
FROM S1_沒用上條碼_在館全找到
LEFT JOIN dbo.View_ZONG
ON S1_沒用上條碼_在館全找到.條碼號=dbo. View_ZONG.書條碼號
步驟4:將(步驟1)中沒用上的數據,除去(步驟3)其他閱覽室亂架過來的圖書,剩下的就是系統(tǒng)沒有著錄信息的數據。
select * into S1_沒信息條碼from dbo.S1_沒用上條碼where條碼號not in(select條碼號from dbo.S1_沒用上條碼_在館全找到)
3.4主題分析
(1)“問題圖書”主題分析。在上述步驟中,其中得出了各閱覽室館藏信息與掃碼信息一致的圖書,對這些圖書做進一步分析,發(fā)現其中還存在有問題的圖書,雖然這些圖書數量很少。如:“借出”狀態(tài)圖書還在館、“丟失”狀態(tài)圖書還在館、“采編”狀態(tài)圖書在閱覽室、“館藏地點”為空的圖書在閱覽室、“索取號”為空狀態(tài)圖書在架上、不同的書條碼號相同等。如找出“不同的書有相同條碼號”的所有圖書,SQL語句如下:
SELECT x.條碼號,y.架號FROM dbo.FIND_CORRECT_ZONGasx,dbo.FIND_CORRECT_ZONGasyWHERE x.條碼號=y.條碼號and x.架號=y.架號
(2)“丟失圖書”主題分析。步驟1:在所有館藏圖書信息視圖的基礎上,構建丟失圖書分析表。
SELECT書條碼號,題名,索取號,分類號,館藏地點,流通類型,館藏狀態(tài), SUBSTRING(索取號, 1, 1)AS大分類, SUBSTRING(書條碼號, 1, 4)AS年into丟書分析FROM dbo.View_ZONG
構建丟失圖書分析表過程中,通過截取“索取號”的第1位字母新增為“大分類”字段,截取“書條碼號”的前4位新增為“年份”字段。
步驟2:分別計算按“年份”、“大類”分類購置的圖書總數。
select年,count(*)fromdbo.View_丟書分析group by年order by年
select大分類,count(*)from dbo.View_丟書分析group by大分類order by大分類
通過以上步驟獲取的數據,可以計算出丟失的圖書中,按“年”或按“大類”分類的丟失率。如:經過以上分析安徽師范大學圖書館每年購置的圖書丟失率最高的是2001年的7.36%,最低的是2011年的2.26%;每大類圖書丟失率最高的是I類圖書的6.77%,最低的是S類圖書的0.98%。
[參考文獻]
[1]李郎達.CALIS三期吉林省中心共享域平臺建設[J].圖書館學研究,2013(2):78-80
[2]扈志民.從E讀推廣看圖書館信息資源共建共享新方向[J].圖書館學研究,2011(11):74-76.
[收稿日期]2014-10-15 [責任編輯]徐娜
[作者簡介]朱東妹(1975-),女,安徽師范大學圖書館副研究館員,研究方向:數字圖書館。
[基金項目]本文系安徽省高等學校圖書情報工作委員會基金項目“云環(huán)境下安徽省高校圖書館云服務模式構建研究”(項目編號:TGW13B17)的研究成果之一。
[文章編號]1005-8214(2015)08-0087-04
[文獻標志碼]B
[中圖分類號]G250.78