Bibliográfiai és példányrekordok szűrése Cinegével példákkal illusztrálva NetWorkShop 2006 Liszkay Béla Nagy Elemér Károly
Cinege Bib, Adm és Pld Rekordok I Nem könyvtárosoknak (!) röviden: ● A Bibliográfiai rekordnak (BibRek) a összes, egyfajta példányra egyaránt vonatkozó adatokat (Cím, szerző, nyelv) kellene tartalmaznia ● Az adminisztratív rekordnak (AdmRek) a Bibliográfiai példánycsoportra jellemző adatokat (kötet, kiadás, lapméret) kellene tartalmaznia ● A példány rekordnak (PldRek) az adott példányra jellemző adatokat (egyedi vonalkód, raktári jelzet, állapot) kellene tartalmaznia
Cinege Bib, Adm és Pld Rekordok II Egy BibRek-hoz nulla, egy vagy több AdmRek, egy AdmRek-hoz pedig nulla, egy vagy több PldRek tartozhat tipikus esetben. (1-N hozzárendelés) ● Előfordul, hogy egy AdmRek-hoz több BibRek tartozik, horribile dictu egy PldRek-hoz több AdmRek. Ezt jóval nehezebb kezelni. (N-N hozzárendelés) ● Vannak még egyéb, lógó rekordok, például több példányhoz tartozó közös megrendelőlevél iktatási száma, kölcsönzés, előjegyzés, stb. ●
Cinege Bib, Adm és Pld Rekordok III
A BibRek-hoz gyakorlatilag tetszőleges számú, tetszőleges mezőkódú, indikátorú, nyelvű, karakterkészletű, stb. mező tartozik, amin belül hasonlóan tetszőleges számú és típusú almező lehet, amelyeknek a sorrendje is számíthat. ● Az összes többi rekord tipikusan csak néhány, meghatározott számú és eléggé meghatározott tartalmú mezőt tartalmaznak – elvileg. ●
Cinege Bib, Adm és Pld Rekordok IV Elgondolkoztató kérdések: ●
●
●
Hol legyen a raktári jelzet / hívószám? Gyűjtemény / polcjelzet? Hol legyen a kötetszám? CD? Melléklet? Hol legyen a védőkód / státusz? Múzeális könyveknél?
Cinege Egy könyvtári adatbázis élete Ezt az egészet elkezdik betölteni valamilyen rendszerbe. ● 16 évvel, 4 operációs rendszerrel, 4 adatbáziskezelővel, 4 könyvtári rendszerrel később az utolsó, a kezdetekre emlékező embert is kiléptetik, mert a legutóbbi verziófrissítés alatt idegösszeroppanást kapott. ● Marad 6 GB vegyes „adat” – ha szerencsénk van, UTF-8 SQL-ben. ● De nincs. ●
Cinege A konverzió szükségessége Ilyenkor – és persze verziófrissítés, rendszercsere, hardverbővítés, új operációs rendszerre (verzióra) áttérés, katalógizálási, szervezeti vagy működési szabályzat változása, könyvtárak összevonása, egyetemek összevonása, költségvetés megszorítások vagy szabványváltozás alkalmából nekiállunk az adatainkat konvertálni. ● Amivel lehet, hogy nem rontunk a helyzeten ● Manapság már UTF-8 SQL alapú RDBMS-be ●
Cinege A listák szükségessége A következmény: hibalistákat illetve statisztikai listákat kell készítenünk ●
Mint MOKKA betöltéskor ● Mint Nagy Könyv támogatások megszerzésekor ● Mint éves NKOM jelentés elkészítésekor ● Mint teljesítménymutatók felállításakor ● Mint szabályzatok / szervezetek változásakor ●
●
Mint ahogy minden hétvégén kellene?
Cinege Konverziók és listák vállvetve Meg ami a napi munkához kell... „a feladat előkészítése során rekord és mező ellenőrzés hajtottunk végre” „Bibliográfiai rekordok duplum ellenőrzésének végrehajtása” „előkészítés során ellenőrző listák létrehozása hiányzó és rossz adatok valamint azonos vonalkódok feltárásara, hibajavítás” „egységes elhelyezési és gyűjteménykód táblák megalkotása majd ennek alapján történő javítás” „Raktári jelzetek ellenőrzése” „alkönyvtár kódok cseréje” „példánystátusz csere egységesített táblázat alapján” „Raktári jelzet: bizonyos állományegységeknél folyóirat, jegyzet, díszművek esetében meg kellett oldani az egyértelmű szétválasztást és azonosítást.” „Alkönyvtár: bizonyos korábban megkülönböztetett alkönyvtárak összevonása” „Alkönyvtár: tanszéki könyvtárak kódjegyzékének folyamatos aktualizálása a tanszéki kódok feloldására.” „Megszűnt gyűjtemények törlése, átírása” „hibás vagy a gyakorlatból már korábban kivon gyűjteménykódok leválogatása és javítása” “bizonyos olvasótermi állományok szétválasztása” “speciális állományok meghatározása és gyűjtemény kóddal való ellátása” “szabadpolcos állomány szakcsoportos elhelyezésre szolgáló szakrendszer egységesítése, hibalisták alapján történő javítása”
Cinege A konverzió következményei A konverziók sokszor hasznosak, de jellemzően inkább csak szükségesek. ● Ez nem jó ●
A konverziók a helyes bemenő adatból reményeink szerint helyes kimenő adatot csinálnak, ha minden jó. ● De nem ●
●
Előtte és utána „majdnem mindent” ellenőrzünk
Cinege Megoldások előnyös jellemzői UTF-8 SQL-t támogató RDBMS környezetben, megváltoztatható és továbbfejleszthető, azaz nyílt forrású (a könyvtárosok úgyis ki tudnak olyat találni, amit a lekérdezések formátumát tervezők nem) és paraméterezhető szűrők alkalmazása, amelyek kimenete nyomtatható vagy Excelbe tölthető (sokan csak abból tudnak egyszerre kényelmesen és hatékonyan dolgozni). Nem árt, ha hétvégén lefutnak a lekeresések a szerveren, de haza is vihető az egész adatbázis laptopon és otthon bütykölhető - „még öt percet”.
Cinege Megoldások I ●
Scriptek (Gawk, sed, PHP?, Perl?, …) ● Eleinte gyorsan fejleszthetők , aztán már kevésbé ● A harmadik átdolgozott kiadás („és még mindig nem tudják pontosan, mit akarnak”) már (sokszor) alig érthető ● A mezőbe ágyazott sortöréstől, „Xu” karaktertől vagy érvénytelen UTF-8 karaktertől elkezdenek szaporodni a hibák – arról nem is beszélve, hogy egy Ansel vagy KKCHAR79 „ő” vagy „ô” vagy „õ” mit tud művelni a programocskákkal, még ha a system locale jól is van beállítva, persze sokszor nincs. ● Rekordazonosító számokra viszont nagyon jó.
Cinege Megoldások II ●
Klasszikus programnyelvek (C, Fortran, Cobol, Basic) ● Eleinte lassan fejleszthetők, aztán már nem annyira ● A harmadik átdolgozott kiadás még érthető (lehet) ● Az érdekes karakterek jól szűrhetőek, esetleg cserélhetőek, adott korlátokon belül ● Nagyobb formátum vagy képesség változások igen sok pluszmunkát jelentenek ● Hajlamosak rügyezni („és akkor belevágtam a KAC konverziós rutin régi verzióját, meg az új CAK rutint, meg belenyúltam még a CAC rutinba is, és az most nem megy, és csak az xyzcc 2.7.11 tudja lefordítani, és bár az nincs már meg, de a lényeg, hogy a bináris itt van”)
Cinege Megoldások III Objektum-orientált és interpretált programnyelvek (Java, Pike, Python, PHP?) ● Eleinte viszonylag gyorsan fejleszthetők, később pedig elég gyorsan ● A harmadik átdolgozott kiadás jobb (lehet), mint az eredeti ● Az érdekes karakterek jól szűrhetőek, esetleg cserélhetőek, elég rugalmasan ● Nagyobb formátum vagy képesség változások sokszor egy objektum továbbfejlesztését jelentik ● Szinte mindenen elfutnak („gondoltam, mielőtt leselejteztetem, megnézem, megy-e rajta – persze ment.”) ●
Cinege Megoldások IV A Cinege egy Java-ban írt (AWK programocskákkal megsegíthető), MySQL RDBMS-sel futó szabad szoftvercsomag, amely letölthető a SourceForge-ról és képes meglehetősen összetett listákat is készíteni, mindezt például Aleph-ből letöltött adatbázisból, amit a zsebünkben haza is vihetünk. ●
Most néhány ilyen lekeresést mutatok be élőben – további példák a weben és a nyomtatott előadásban megtalálhatóak.
●