 |
RubReg
Et program for behandling av
data fra humanistiske kilder |
|
|
av Asbjørn Brændeland:
I denne presentasjonen beskrives RubReg for Macintosh.
De grunnleggende funksjonene er felles for DOS- og Macintosh-versjonen
av RubReg, men detaljene er forskjellige, ikke minst på
grunn av ulikheten mellom de to operativsystemenes grensenitt.
Bakgrunn
- Kort historikk
- Databehandlerens
behov
- Sirkularitet
og linearitet
- Ad
hoc bestemmelse av datatyper
- Dataformater
og plassutnyttelse
- Distribuert
funksjonalitet
- Integrert
funksjonalitet
- RubReg
som databaseprogram
Kildens
flytende struktur
- Organiseringen
av datamengden
- Formattering
og typefisering
RubRegs
funksjonalitet
- Oversikt
- Blaing i data
- Registrering
og redigering av data
- Gjennomgående
endring av felt
- Søking
- Gruppering
av poster, Utvalg
- Frekvensbaserte
utvalg
- Ordning
av poster, Sortering
- Postindeks
- Eksport og
Import
- Rapportering
- Frekvenstelling
- Krysstabell
- Register
- Lenking
RubRegs
grensesnitt
- Det logiske
skjemaet
- Det grafiske
skjemaet
- Alternative
skjema
- Tabell
og zoomet felt
- Oppsetting
av skjema
Filorganisering
og datastruktur
- Filorganisering
- Post- og feltformatet
RubReg-konseptet
Bakgrunn
Kort historikk
Bruk av datamskinen i humanistisk forskning har en historie like lang som
datamaskinen selv. Alt tidlig i denne historien gikk de humanistiske forskerne
inn og tok hånd om deler av de myke sidene ved teknologiutviklingen.
Innsatsen kunne variere fra utviklingen av små enkle programmer for
opptelling av data til utviklingen av hele databseprogrammer for humanistiske
kildemateriale. (I tillegg gir logikere og lingvister betydelige bidrag
til utviklingen av informasjonsteknologien på et mer generelt plan,
men det er en annen historie.)
Programmet RubReg ble i utgangspunktet utviklet for å
ta vare på de spesielle behov historieforskere har i forbindelse
med registrering og behandling av kilder - typisk kirkebøker og
eldre folketellinger.
Utviklingen ble startet av Kåre
A. Andersen tidlig på 1980-tallet.
De aller første versjonene av programmet ble skrevet for UiOs
daværende mainframe-maskin DEC-10, men utviklingen ble raskt overført
til DOS-maskiner.
I 1990 startet Asbjørn
Brændeland utviklingen av en versjon av RubReg for Macintosh.
Andersen og Brændeland arbeidet på 80-tallet ved HF-Data
som var en kombinert brukertjeneste, utviklingssenter og undervisningsinstitusjon
for IT ved Det historisk-filosofiske fakultet ved Universitetet i Oslo.
Institusjonen er nå tatt opp i Institutt
for lingvistiske fag der Andersen og Brændeland fremdeles forestår
utvikling og undervisning innenfor området bruk av datamaskiner i
humanistisk forskning.
Innhold
Den humanistiske databehandlers behov
Det man fremfor alt ønsket seg i forbindelse med databehandling
av kilder for humanistisk forskning, var å kunne
• automatisere databehandlingen så langt det lot seg gjøre
uten samtidig å ødelegge forskningsprosessens iboende dynamikk
(vekselvirkningen mellom det å se data i sin sammenheng, og det å
lære mer om sammenhengen gjennom de data man ser),
• tillate behandling av de ulike data i en kilde ut fra en ad hoc bestemmelse
av deres typer og formater,
• optimalisere organiseringen av data fra kilder med stor variasjon
i postenes størrelse,
• distribuere databehandlingen mellom enkeltfunksjoner som hver for
seg la et minimum av føringer på de tilsvarende delene av
forskningsprosessen, og
• integrere de ulike databehandlingsfunksjonene innenfor ett ensartet
grensesnitt.
(Den uhøytidelige undertittelen på introduksjonssiden
henspiller delvis på denne behovslisten, og delvis på Kåre
A. Andersens artikkel Blantforsknigsspiraler, hermeneutiske sirkler
og firkantedeedb-løsninger. [1990].)
Innhold
Hermeneutisk
sirkularitet vs programmert linearitet
Den humanistiske forskningsprosessens iboende dynamikk består i vekselvirkningen
mellom det å se data i sin sammenheng, og det å lære
mer om sammenhengen gjennom de data man ser. Dette beskrives bl.a. som
den hermeneutiske sirkel. Automatisk databehandling kan introdusere en
klargjørende linearitet i kildegranskningen, men forfølges
en linje for langt, skjærer man ut av den hermeneutiske sirkel med
fare for å ende opp med almene, men lite interessante forklaringer
av utvendige aspekter ved kilden, i stedet for en tolkning av kildens mening
(dette er foråvidt en fare som hefter ved den lineære betraktningen
i og for seg — uavhengig av i hvilken grad betraktningene er understøttet
av automatiserte beregninger). Denne problemstillingen diskuteres mer inngående
i Andersen [1989].
Innhold
Ad hoc bestemmelse av datatyper
Data i historiske kilder har ofte et delvis fritt format både i den
forstand at man ikke alltid finner faste felter som kan identifiseres direkte
ut fra kildens layout, og i den forstand at dataformatet i de enkelte feltene
kan variere slik at f.eks. datoer av og til skrives med tall og av og til
med bokstaver. Tradisjonelle databasesystemer stiller krav til defineringen
av databasen mht. post- og feltinndeling og angivelse av felttyper som
gjør det i prinsippet umulig å sette opp en base der slike
data er representert direkte. Skulle man bruke et tradisjonelt system,
måtte man enten tolke og skrive om noen av dataene eller utelukke
data som ikke svarte til den ene eller andre forhåndsdefinerte typen.
Et slikt system har imidlertid den styrken at den typemessige ensrettingen
muliggjør effektiv og søking, sortering og opptelling etter
differensierte typeavhengige kriterier. Det man ønsket seg var et
et program som i utgangspunktet tillot en blanding av alle typer data innenfor
samme rubrikk, men som i neste omgang gjorde det mulig å søke
etter, sortere og telle opp verdier på grunnlag av ad hoc bestemmelser
av datatypene tilsvarende ulike synvinkler på et materiale.
Innhold
Dataformater og plassutnyttelse
I mange historiske kilder der data i utgangspunktet har fast format, kan
antallet utfylte felt variere sterkt mellom de ulike postene. I andre kilder
der faste data som steds- og tidsangivelser og navn på hovedpersoner
er blandet med med fri tekst, vil en rubrisert kildetranskripsjon kunne
inneholde felt av svært varierende lengde. Dette gjør det
nødvendig å utnytte plassen optimalt ved organiseringen av
data både på fil og i datamaskinens hukommelse.
I et tradisjonelt system vil data gjerne være organisert i poster
og felt med faste lengder.
Et slikt system gjør det enkelt å aksessere gitte data,
siden posisjonen til et gitt felt i en gitt post er en direkte funksjon
av de faste lengdene og postens og feltets numre. I flere programmeringsspråk
er denne funksjonaliteten bygget direkte inn i språket ved dets forhåndsdefinerte
typer og standardrutiner. For et materiale med sterkt varierende postlengder,
ville imidlertid bruken av et slikt system føre til et urimelig
stort plassforbruk både på disk og i maskinens hukommelse.
Det man ønsket seg var et et program der data ble organisert slik
at hverken datafilen eller datastrukturen i maskinens hukommelse inneholdt
flere tegn enn kilden, samtidig som programmet muliggjorde direkte aksess
til gitte poster og felt.
Innhold
Distribuert funksjonalitet
Tradisjonelle databasesytemer, statistikkpakker og andre analyseverktøy
krevde gjerne en detaljert og omfattende spesifikasjon av inndata. Dette
ga tilsvarende detaljerte og omfattende utdata hvorav det meste kanskje
var uten interesse for forskeren. Vel så viktig var det imidlertid
at dette tvang forskeren inn i et forarbeid som i verste fall kunne bringe
forskningsprosessen av sporet. Data måtte tilrettelegges, og forskeren
måtte sette seg inn i de metodiske problemstillingene som lå
implisitt i de tilgjengelige programmene. Nå kan tilretteleggelsen
av data i seg selv være klargjørende, idet det kan åpenbare
tidligere upåaktede relasjoner eller mangelen på antatte relasjoner.
Det kan også være klargjørende å sette seg inn
i metodikken til et datamaskinprogram, forsåvidt som det viser hvordan
og i hvilken grad visse metoder kan operasjonaliseres. Problemet
var at forskerens innsats for å tilrettelegge data og lære
seg å bruke et programmer kunne nå et nivå hvorfra en
nedstigning (eller oppstigning — avhengig av perspektivet) ikke lenger
var mulig. Det forberedende arbeidet fikk en egenverdi i kraft av sitt
blotte omfang.
Det man ønsket seg var et program som
- ikke krevde mer enn et minimum av tilretteleggelse av data i utgangspunktet,
- lot eventuell ytterligere tilretteleggelse av data bli en funksjon
av forskningsprosessen og ikke omvendt
- hadde enkle funksjoner for søking, sortering og statistikk
som i seg selv ikke krevde noen tilretteleggelse av data.
Innhold
Integrert funksjonalitet
Det mest synlige motivet for å utvikle et program som RubReg
lå, rent historisk, i det nærmest fryktinngytende grensesnittet
den humanistiske forsker måtte forhold seg til ved maskinell registrering
og behandling av data langt inn på 1980-tallet.
Det logiske grensesnittet kunne være svært uryddig. I den
grad de foreliggende databasesystemer var uegnet for historisk kildebehandling,
måtte forskeren forholde seg til en serie ulike programmer for registrering,
organisering og analyse av data — typisk en linjeorientert editor for registrering
av data, et hjemmesnekret program for preparering av data, operativsystemets
sorteringsfunksjon for ordning av data, og en statistikkpakke for analyse
av data.
Det logiske grensesnittet var under enhver omstendighet nokså
ugjennomtrengelig for den alminnelige humanistiske forsker. Både
operativsystemet og de ulike programsystemene var styrt av tastede kommandoer
som kunne, og i visse tilfeller måtte, spesifiseres ved mer eller
mindre komplekse tegnstrenger. Dersom man ikke brukte de aktuelle systemene
daglig over lang tid, var man stort sett nødt til å konsultere
lite lesevennlige brukerveiledninger for hvert eneste skritt i prosessen.
Til alt overmål var selve det fysiske grensesnittet svært
lite bekvemt. Med 60-og 70-tallets hullkortlesere og 70- og 80-tallets
skrivende terminaler og linjeorienterte skjermterminaler gikk faktisk mye
av registreringsarbeidet med til å telle seg frem til feltenes posisjoner
i innmatingsmediet.
Det man ønsket seg var et program som
- integrerte fleste mulig av de funksjonene forskeren kunne tenkes
å ønske seg, og forøvrig
- tillot en friksjonsfri utveksling av data med andre programmer
- hadde et tilnærmet uniformt grensesnitt for alle programmets
funksjoner, og
- hadde et grafisk grensesnitt der bruker selv kunne utforme detaljene
mht. feltenes visuelle plassering og form.
Innhold
RubReg som databaseprogram
Den generelle karakteristikken som passer best på RubReg er
databaseprogram.
Siden utviklingen av RubReg startet på begynnelsen
av 80-tallet, har både maskin- og programvaretilbud utviklet seg
slik at mange av de ønskene som er nevnt over, er realisert hver
for seg, eller også mer eller mindre samlet i kommersielle systemer.
Spesielt gjelder dette programmer som tillater kombinasjon av faste felt
og fritekst. Er kildene tilstrekkelig ryddige, vil et mer tradisjonelt
databaseprogram som forutsetter reelt faste formater (slik at det er samsvar
mellom de definerte og de faktiske datatyper og felt- og postlengder) i
visse henssender kanskje være vel så effektivt som RubReg.
RubReg er imidlertid fremdeles det eneste programmet
vi kjenner til som tilfredstiller alle de kravene vi har listet opp over.
RubReg kan dessuten på sin side være et alternativ
til andre systemer også utenfor en humanistisk forskningssammenheng.
Programmet egner seg godt for behandling av alle typer rubriserbare data.
Med rubriserbare data mener vi data som har en gjennomgående
struktur — medlemskartotek, saksregistre, o.l., såvel som data med
mer eller mindre fast struktur — kontorjournaler, private dagbøker
og andre former for journaler, protokoller, notatsamlinger o.l.
Innhold
Den humanistiske
kildens flytende struktur
Organiseringen av datamangden
Datamengden i en kilde kan organiseres på ulike måter mer eller
mindre uavhengig av kildens opprinnelige ytre struktur. En ordning kan
bl.a. bidra til å øke gjenfinningsgraden for visse data, men
i humanistisk forskning er de interessante ordningene de som gir kilden
mening i den ene eller andre sammenheng. Meningen til en kilde er
ikke objektiv og faktisk, men en funksjon av bl.a. forskerens egen aktivitet.
Den yttre struktur kilden måtte ha, er ikke uten betydning, men den
struktur forskeren legger på kilden ved å anlegge en bestemt
innfallsvinkel, er minst like viktig.
I RubReg er det lagt vekt på at kildedata ved enkle
håndgrep skal kunne ordnes på ulike skiftende måter.
For å konkretisere ulike alternative innfallsvinkler skal data kunne
grupperes, sorteres, telles opp og formatteres uten besvær og bindinger.
Resultatene av de ulike konkretiseringer skal kunne kastes, holdes i mente
eller arkiveres og eventuelt deretter sammenkobles, sammenlignes og kontrasteres.
Den sentrale komponenten i den vedvarende struktureringen av kildedata
er utvalget. Et utvalg av poster fra en kilde vil i utgangspunktet
være basert på et enkelt søk eller en frekvenstelling
og det kan i neste omgang være modifisert gjennom nye inkluderende
eller ekskluderende søk og innlemmelse eller fjerning av enkeltvise
poster.
Et foreliggende utvalg kan i seg selv gjøres til gjenstand for
ny strukturering ved at det danner utgangspunkt for et nytt utvalg, eller
ved at det sorteres, frekvenstelles eller formateres.
Et foreliggende utvalg kan også benyttes som et kraftigere virkemiddel
for redigering av kildedata.
Innhold
Formattering og typefisering
av data
Grunnoperasjoner i behandling av data er (etter registrering og redigering)
søk, sortering, opptelling og rapportering.
I utgangspunktet er alle data i en RubReg-fil uspesifiserte,
slik at det i prinsippet er mulig å legge inn data av en hvilken
som helst type hvor som helst i en datafil. (Riktignok kan man i RubReg
for Macintosh spesifisere et felts datatype til f.eks.heltall,
men man kan samtidig sette kontrollnivået ved registrering slik at
alle data tillates). Et felts type er fra forskerens synspunkt mest interessant
når data skal analyseres. Hvilken type man ønsker å
gi et felt, vil kunne variere med ulike innfalssvinkler til samme materiale.
RubReg tillater derfor at et felts datatype spesifiseres
ad hoc i forbindelse med alle grunnoperasjoner.
Vi ønsker f.eks. å lete etter et bestemt tall i et strengfelt
(uspesifisert felt), slik at et søk etter tallet 2 gir tilslag for
strengen 'X2Y', men ikke for strengen 'X123Y' (når X og Y er strenger
uten sifre — evt. tomme strenger); eller vi ønsker å lete
etter en bestemt sifferstreng i et tallfelt slik at et søk etter
strengen '2' gir tilslag både for tallene 2 og 123.
Tilsvarende kan vi mht. sortering og opptelling f.eks. spesifisere
strengfelt som et tallfelt slik at strengen 'X2Y' rangeres foran strengen
'X123Y'; eller vi kan spesifisere et tallfelt som et strengfelt, slik at
f.eks. tallet 123 rangeres foran tallet 2.
Også den logiske feltinndelingen i en post, vil kunne variere
med innfalssvinkelen. Det kan være ønskelig å betrakte
to eller flere felt som ett, eller å betrakte en del av et felt som
et eget felt.
Sammensetning av flere felt til ett er mulig i RubReg
(som i de fleste systemer) ved alle grunnoperasjoner.
Spesifisering av subfelt er mulig i forbindelse med sortering,
opptelling og rapportering. Et subfelt spesifiseres ved angivelse av lengde
og startposisjon relativt til hele feltets begynnelse eller slutt eller
til eventuelle andre typebestemte referansepunkter (plassen etter siste
siffer for heltall, desimalkommaet for relle tall og skillene mellom dag,
måned og år for datoer).
Det er i prinsippet også mulig å spesifisere subfelt ved
søk, men dette er ikke implementert i noen foreliggende versjonen
av RubReg (riktignok kan man søke etter første
del, siste del, en hvilken som helst del eller et helt felt, men altså
ikke etter et posisjonsbestemt subfelt).
Innhold
RubRegs funksjonalitet
Oversikt
De viktigste funksjonene i RubReg er:
-
Blaing i data
-
vha. rullesjakt og heis eller piltaster
-
ved angivelse av postnummer,
-
ved søking,
-
vha. indekser for enkeltfelt eller kombinasjoner av felt,
-
vha. lenker.
-
Registrering og redigering
av data
-
løpende registrering av poster,
-
innsetting av enkeltposter,
-
endring av eksisterende poster,
-
klipping, kopiering, liming og sletting av eksisterende poster,
-
gjennomgående
endring av felt i en hel fil eller et utvalg av poster.
-
Gruppering av poster
(generering av utvalg) etter ulike kriterier.
-
Ordning av poster
(sortering) etter ulike kriterier.
-
Import og eksport av data
fra og til andre programmer via tekstfiler.
-
Rapportering — eksport av data
med en gitt layout.
-
Statistikk
-
Generering av register med kildereferanser.
-
Lenking
-
Fra
-
et grensesnitt eller
-
en post
-
Til
-
et grensesnitt og/eller
-
en post og/eller
-
et utvalg og/eller
-
en fil.
-
Valg av ulike grensesnitt for
skriving og lesing av data i
-
enkeltvise felt,
-
enkeltvise poster,
-
flere poster av gangen (linje og kolonnevis),
-
alternative post-grensesnitt med bl.a. mulighet for å skjule felt.
-
Brukerdefinering
av grensesnitt (skjema) for skriving og lesing av data.
Innhold
Blaing i data
Man kan bla i enkeltfelt, enkeltposter og sider med felt og poster fordelt
på kolonner og linjer (tabellformat).
For blaingen brukes først og fremst Macintosh standard grensesnitt
med rullesjakter og piltaster.
I tillegg kan man
- bla til en gitt post ved å angi dens nummer,
- søke etter verdier med automatisk fremrulling og markering
av eventuelle funn som resultat (se Søking under),
- klikke i en eventuell foreliggende indeks med feltverdier (se Postindeks
under) med fremrulling til den posten der den klikkede verdien forekommer,
som resultat, og
- klikke i et lenkingsfelt assossiert til en gitt post.
Innhold
Registrering og redigering av
data
Dersom data ikke importeres fra en foreliggende fil, må de skrives
inn feltvis og postvis. Ved løpende registrering skrives den ene
posten inn etter den andre inntil prosessen avbrytes. Postene arkiveres
i den rekkefølgen de skrives inn, og når løpende registrering
eventuelt gjenopptas, legges nye poster etter tidligere registrerte.
Rekkefølgen er forutsetningsvis valgt slik at den svarer til
postenes rekkefølge i kilden. Den kan imidlertid endres ved vilkårlig
innsetting eller klipping, kopiering og innliming av enkeltposter.
Forøvrig kan data i registrerte poster endres, uten at postfølgen
endres.
Løpende registrering, innsetting av enkeltpost og endring av
enkeltpost kan utføres innenfor alle de ulike grafiske grensesnitt
(feltvis, postvis eller i tabell).
Innhold
Standardisering av feltverdier
— Gjennomgående endring av felt
Data kan redigeres en bloc for en hel fil eller et utvalg av poster i henhold
til regelmessigheter som bruker har observert, eller som erfaringsmessig
gjelder for visse kildetyper. Redigeringen spesifiseres feltvis til ett
av:
1) Innsetting av en gitt verdi i alle poster.
2) Sletting av innholdet i alle poster.
3) Kopiering av feltets innhold fra foregående post dersom samme
felt i løpende post er tomt (kopieringen utføres f.o.m. første
ikke-tomme felt, og gjentas deretter for eventuelle sekvenser av etterfølgende
tomme felt).
4) Sletting av innholdet i det gitte feltet dersom det er identisk
med innholdet i samme felt i foregående post.
5) Øking av feltverdien i et heltallsfelt med 1 i forhold til
verdien i foregående felt, hvis samme felt i løpende post
er tomt (er feltet i utvalgets første post tomt, får det verdien
1, og verdiene i eventuelle etterfølgende tomme felt økes
i forhold til dette).
Standardiseringsmåtene 1) og 2) kan typisk brukes for å
legge inn samme verdi i et kodefelt i et utvalg av poster med verdier som
tilfredstiller et gitt kriterium.
Standardiseringsmåtene 3)..5) svarer til regelmessigheter i forholdet
mellom visse feltverdier som man bl.a. finner i eldre folketellinger.
Innhold
Søking
Man kan søke etter enkeltstrenger hvor som helst i et datasett (på
tvers av feltskiller), eller man kan søke etter verdier i et gitt
felt eller en kombinasjon av gitte felt. Forut for et søk i gitte
felt, settes det opp en såkalt søkeprofil der de aktuelle
verdiene angis sammen med ulike parametre for hver søkestreng.
To av parametrene er også relevante for søking på
tvers av feltskiller. Disse gjelder
- "case"-sensitivitet (om det skal skilles mellom små og store
bokstaver eller ikke) og
- ordskille-sensitivitet (om det bare skal søkes etter hele
ord eller ikke).
De øvrige parametrene er bare relevante for de enkelte feltene
i en profil. Disse gjelder
- datatypen (se over),
- hvilken del av feltet som må matche søket (hele, fronten,
enden, eller hva som helst), og
- sammenligningsoperatoren (=, <>, <, <=, >, >=)
Både ved søking på tvers av feltskiller og i gitte
felt kan det benyttes såkalt jokernotasjon. Har man valgt
dette, vil tre tegn være reservert for spesielle tolkninger under
søket. (Her vises standardverdiene for disse tegnene. Om ønskelig
kan man velge andre jokertegn).
'?' tolkes som et hvilket som helst enkelttegn, slik at f.eks. 'G?rd'
gir tilslag for 'Gard' og 'Gård' (og for den saks skyld 'Gerd' og
'Gyrd').
'*' tolkes som en hvilken som helst streng, slik at f.eks. 'G*rd'
gir tilslag for, 'Gard', 'Gård' og 'Gaard' (og for den saks skyld
for 'Grd' og 'Geirangerfjord').
'/' tolkes som skille mellom alternativer, slik at f.eks. 'Gard/Gård/Gaard'
gir tilslag for 'Gard', 'Gård' og 'Gaard'.
Alle tre jokertegn kan brukes innenfor ett og samme søk. I praksis
er det imidlertid satt en grense på 7 alternative søkestrenger
og 7 vilkårlig atskilte strenger (skilt med '*') innenfor hver alternative
søkestreng.
Innhold
Gruppering av poster — Utvalg
Et utvalg vil i utgangspunktet være basert på enten et søk
eller en frekvenstelling (se under). Utvalget gjøres enten fra hele
datasettet eller fra et allerede foreliggende utvalg.
Når et utvalg foreligger, kan det modifiseres på flere
måter.
- Det kan utvides eller reduseres på grunnlag av en ny søkeprofil.
- Enkeltposter kan legges til eller fjernes fra utvalget.
Innhold
Frekvensbaserte utvalg
Et utvalg kan genereres på grunnlag av frekvenstelling (se under).
Funksjonen er spesielt nyttig for analyse av data der antatt samme fenomen
eller individ er angitt ved varierende skrivemåter. En
frekvenstelling for det relevante feltet gir en liste med normalt betydelig
færre verdier enn det er poster i datasettet. Listen presenteres
i et grensesnitt som gjør det enkelt å velge de verdier som
antas å identifisere samme fenomen eller individ. Numrene til de
postene i datasettet der de valgte verdiene forekommer, legges inn i en
egen utvalgsfil.
Innhold
Ordning av poster — Sortering
Postene i et utvalg eller i hele datsettet kan sorterers mht. ett enkelt
felt, en feltdel eller en kombinasjon av felt/feltdeler. På samme
måte som for søk (og utvelgelse), baseres en sortering på
en bestemt profil.
En sorteringsprofil settes opp ved å angi én eller flere
deler av en sorteringsnøkkel. Hver enkelt del hentes fra ett felt
og rekkefølgen til delene i nøkkelen angis vha. bokstaver.
En nøkkeldel kan bestå av et helt felt eller et subfelt.
Et subfelt angis ved lengde og posisjon relativt til begynnelsen eller
slutten av feltet eller et typebestemt referansepunkt i feltet (se over).
Parametrene for hvert enkelt felt i profilen gjelder
- datatype (se over)
- "case"-sensitivitet
- sorteringsretning (forfra eller bakfra — gjelder også subfeltets
referansepunkt)
- sorteringsorden (stigende eller synkende)
Innhold
Postindeks
Man kan sette opp en profil for indeksering av et helt datasett på
samme måte som man setter opp en sorteringsprofil. Indeksen vises
i en egen del av vinduet med én nøkkel for hver post i alfabetisk
orden, og slik at like nøkler er nummerert innbyrdes. Et klikk i
en linje i en åpen indeksen bringer frem den posten der den aktuelle
feltverdien forekommer.
Innhold
Eksport og Import
Data fra en RubReg-fil kan eksporteres til vanlige tekstfiler
og med fritt valgte felt- og postskiller. Man kan enten eksportere alle
feltdata eller data fra utvalgte felt i fritt valgt rekkefølge.
Data kan også importeres fra vanlige tekstfiler med gitte felt-
og postskiller. Siden det etterhvert finnes en god del maskinregistrerte
kilder, er dette en nokså vanlig måte å legge data inn
i en RubReg-fil på, men den forutsetter at man har
satt opp et skjema med den feltrekkefølge man forventer å
finne i importfilen.
Ved import og eksport brukes et såkalt utvekslingsformat der
data er pakket sammen mellom felt- og postskilletegn. Feltskillet skal
være et ikke-alfanumerisk tegn, tabulator eller CR (Carriage Return).
Postskillet skal være et ikke-alfanumerisk tegn eller CR alene eller
et ikke-alfanumerisk tegn fulgt av CR.
Med disse valgmulighetene kan man finne riktig utvekslingsformatet
for de fleste programmer som har tilsvarende eksport- og importfunskjoner.
De dekker også alle de varianter som er og har vært i bruk
ved rubrikkdefinert kilderegistrering i norsk sammenheng.
Innhold
Rapportering
En rapport vil normalt være en utskrift av utvalgte feltdata i en
lay-out som er hensiktsmessig for lesing fra skjerm eller papir. Man setter
opp rapportprofilen på tilsvarende måte som for sortering,
men i rapporten fordeles verdiene i de enkelte feltene på kolonner.
Man kan også lage rapporter med egne formater som brukes av andre
programmer - f.eks. MS Word (så langt det eneste spesialformatet).
Innhold
Frekvenstelling
En frekvenstelling baseres på en profil som settes opp på samme
måte som en sorteringsprofil. Tellingen kan altså gjøres
for et enkelt felt, en feltdel eller en kombinasjon av felt/feltdeler,
med feltspesifikke parametre for datatype, case-sensitivitetet, og sorteringsretning
(sorteringsorden er ikke relevant ved frekvenstelling).
Innhold
Krysstabell
En frekvenstelling kan utføres for to atskilte felt slik at verdiene
for disse krysses mot hverandre (profilen skal altså omfatte nøyaktig
to felt, og det er dermed ikke mulig å kombinere feltverdier for
de kryssede variablene). Resultatet vises i en matrise der verdiene fra
de to feltene er fordelt hhv. langs den horisontale og den vertikale aksen.
Innhold
Register
Dersom data inneholder lokaliseringsreferanser til en kilde (f.eks. folionumre),
og disse er kodet i et bestemt format, kan man få laget et register
over innholdet i gitte felt (gitt ved en registerprofil som settes opp
på tilsvarende måte som profiler for søk, sortering,
etc.).
Kodeformatet er en modifisert utgave av det formatet som er beskrevet
i Tingbøker og edb. Avskrivning og registrering, [Marthinsen
og Sandvik 1990]. (Formatet ble modifisert for å unngå mulige
tvetydigheter ved automatiseringen av registerfunksjonen.)
Registret vil inneholde oppslagsord fra datafila sammen med henvisninger
til de stedene i kilden der oppslagsordene forekommer. De oppslagsordene
som skal med i et register, må være gitt i datafila som hele
felt eller som deler av kodede felt. Oppslagsordenes referanser kan være
gitt sammen med ordene i de postene der de forekommer — enten i samme felt
eller i et dedisert referansefelt. Oppslagsordene kan kodes på to
nivåer slik at visse oppslagsord er underordnet andre. Et register
med oppslagsord på to nivåer, vil være sortert primært
mht. hovedoppslagsordene og sekundært mht. de underordnede oppslagsordene,
slik at det etter hvert hovedord vil følge en sortert liste med
underordnede ord.
Innhold
Lenking
En frittstående tekst i et grafisk skjema kan defineres som en lenkingstektst.
En slik tekst kan under visningen av data knyttes fast til et skjema, eller
den kan knyttes til enkeltposter. Målet for en lenkingstekst kan
være en gitt post i, et gitt skjema for, eller et gitt utvalg fra
løpende datafil, en annen datafil, evt. spesifisert mht. postnr,
skjema og/eller utvalg, eller en tekstfil.
Innhold
RubRegs grensesnitt
Det logiske skjemaet
For registrering og behandling av data må det alltid foreligge et
skjema. Skjemaet settes opp vha. RubRegs skjemadefineringsvindu
der de enkelte feltene og deres ledetekster tegnes inn — evt. sammen med
andre fasttekstfelter. Skjemaet bestemmer både rekkefølgen
til feltene i posten, og det grafiske grensesnittet for bl.a. lesing og
redigering av postenes data.
Innhold
Det grafiske skjemaet
Grunnformen til det grafiske skjemaet er et kort med ledetekster og innskrivingsfelt.
Hvert enkelt innskrivingsfelt kan være uten eller med linjering,
det kan være uten ramme eller ha én av tre ulike rammer, og
det kan ha en egen rullesjakt.
Hvert innskrivingsfelt og hver faste tekst kan gis sin egen font.
På et kort kan det dessuten forekommer frittstående faste
tekster i tillegg til ledetekstene, og frittstående rammer som kan
plasseres rundt grupper av felt og tilhørende ledetekster. En egen
type frittstående faste tekster er lenkingstektstene (se over).
Innhold
Alternative grafiske skjema
Til et foreliggende grafisk skjema kan det defineres alternativer. Det
skjema som ble satt opp i utgangspunktet kalles standardskjemaet, og eventuelle
alternative skjema navngis etterhvert som det settes opp. I et alternativt
skjema kan feltrammenes posisjon, bredde og høyde endres, og ett
eller flere felt kan skjules.
Innhold
Tabell og zoomet felt
I tillegg til kortformatet, kan det zoomede feltet og tabellformatet brukes
både under lesing og registrering av data. (En oppsetting av en profil
starter alltid i kortformatet. Her kan man skifte til zoomet felt, men
ikke til tabell.)
Når et felt zoomes inn, fyller feltet det meste av vinduet alene.
I tabellformatet vises flere poster av gangen linjevis. Feltene vises
i kolonner i den rekkefølgen de ble innført i skjemaet. Kolonnenes
bredder kan endres fritt. Er et alternativt skjema åpent når
man velger tabellformat, vil eventuelle skjulte felt forbli skjult. Med
utgangspunkt i standardskjemaet kan man fritt skjule og hente frem kolonner.
Innhold
Oppsetting og redigering
av skjema
Skjemaet settes opp ved at de enkelte datafeltene og de tilhørende
ledetekstene tegnes og skrives inn i vinduet. Feltene får i utgangspunktet
en standard rammetype, font og datatype. Under oppsettingen kan man endre
feltenes nummerorden fritt. Når et nyoppsett skjema arkiveres, opprettes
det en ny fil der skjemaet plasseres i ressursgrenen, mens datagrenen er
tom. For et skjema som er tatt i bruk (slik at datagrenen i den filen der
skjemaet er lagret, ikke er tom), kan ikke feltenes nummerorden
endres, men man kan fritt endre feltenes datatyper samt deres fonter,
rammetyper og plasseringer.
Redigeringen av et skjema kan utføres i alle sammenhenger (lesing
og registrering av data og oppsetting av profiler).
Innhold
RubRegs filorganisering og
datastrukturer
RubRegs filorganisering og datastruktur er utformet både
med henblikk på effektiv plassutnyttelse og rask aksess av data.
I utgangspunket er filorganiseringen sekvensiell med et minimum av overhead
for de enkelte poster og felt. I tillegg benyttes indeksfiler for direkte
aksess av poster.
Filer
En datafil er alltid knyttet til et skjema, slik at rekkefølgen
til feltene i postene er entydig bestemt. Skjema lagres i en egen gren
i datafilen.
Postene lagres fortløpende i den rekkefølgen de skrives
inn i utgangspunktet. Lengden til en post er gitt ved antall tegn i posten.
For å holde rede på hvor i datafilen de enkelte postene ligger,
brukes det en egen såkalt postreferansefil.
For en datafil kan det lages ett eller flere utvalg. Opprettelsen av
et utvalg fører ikke til at det lagres flere data. I stedet opprettes
det en egen referansefil som angir hvilke poster i datafilen som tilhører
utvalget.
Innhold
Poster og felt
Innenfor en post lagres feltene fortløpende sammen med informasjon
om hvert felts nummer og lengde. Det lagres ingen informasjon om uutfylte
felt (de uutfylte feltene i en gitt post vil være de som ikke er
repersentert ved noe feltnummer i posten). Posten innledes med to bytes
som angir postlengden. Hvert felt med data innledes med tre bytes hvorav
det første angir feltets nummer og de to andre angir feltets lengde.
Dette formatet benyttes både på fil og for representasjon av
poster i programmet. (i programmet benyttes dessuten ulike tilleggsstrukturer
for å holde rede på feltdata under visse operasjoner).
Innhold
RubReg-konseptet
— Utvikling og opphavsrett
RubReg er i utgangspunktet utviklet for DOS-maskiner av Kåre
A. Andersen som har opphavsretten til RubReg-konseptet.
Konseptet er definert ved en nærmere beskrivelse av RubRegs
egenskaper angående
-
formatering og typefisering av data
-
gjennomgående endring av felt
-
søking og søkebasert utvalgsgenerering
-
frekvensbaserte utvalgsgenerering
-
generering av register med kildereferanser
-
filorganisering og datastrukturer
Konseptet må sies å være realisert i et program som besitter
de egenskapene som er beskrevet under 4 eller flere av disse punktene i
dokumentet Bruken av "RubReg" som navn på datamaskinprogrammer.
Bruken av RubReg som programnavn er knyttet ekslusivt til RubReg-konseptet,
og konseptet kan, i henhold til gjeldende lover om opphavsrett, ikke gjøres
til gjenstand for etterligninger uten etter avtale med Kåre A. Andersen.
RubReg for Macintosh er utviklet av Asbjørn
Brændeland etter avtale med Kåre A. Andersen.
Innhold