Uttrekk – testside – Uttrekk fra databasen til et informasjonssystem
Det er en stor variasjon i hvor komplekse informasjonssystem er og hvor enkelt det er å lage et uttrekk fra dem.
Uttrekk for langtidsbevaring
Denne siden omtaler en av flere flere uttrekkstyper for digitale arkiv
De fleste uttrekkene fra informasjonssystem som overføres til Nasjonalarkivet, overføres i form av en eller flere tabeller hentet fra systemets underliggende database. Disse tabellene er ofte i form av strukturerte tekstfiler. Eksempler på dette er XML, JSON, fastbredde eller tegnseparerte (for eksempel CSV).
Tabelluttrekk
Tabelluttrekk innebærer å ta uttrekk fra en eller flere tabeller fra databasen bak et system.
For mange fagsystemer er det passende å speile tabeller i databasen som rene tekstfiler. Det inkluderer tekstfiler på fastlengde eller tegnseparert format (for eksempel CSV) og strukturerte filer på rene tekstformat som JSON eller XML. Siden databasehåndteringssystemer ofte er lisensiert programvare og lagrer data på ulike måter, har Nasjonalarkivet behov for å standardisere uttrekksformater.
Det er mulig å lage uttrekk som inneholder et utvalg av tabellene i databasen, eller en fullstendig kopi av databasen. Hva som er hensiktsmessig, må vurderes ut fra bevarings- og kassasjonsvedtaket. Skal man lage en ny sammenstilling av data, må det skrives spørringer for akkurat dette formålet. Da er det viktig å kjenne datamodellen godt. Jo flere tabeller som bevares, desto mer grundig systemdokumentasjon [lenke til systemdokumentasjon] trengs for at dataene skal være anvendbare. Slik systemdokumentasjon bør også følge med når uttrekket avleveres.
Kompleksiteten kan være høy og dataene må senere sammenstilles for å være forståelige. Videre kan det følge med opplysninger som ikke har langvarig dokumentasjonsverdi og skal slettes ut fra for eksempel personvernhensyn. Derfor er det viktig at Nasjonalarkivet mottar systemdokumentasjon sammen med uttrekket.
Rapportuttrekk
Rapportuttrekk er en sammenstilling av data fra en database fremstilt som en avledet databasetabell eller et arkivdokument. For enkelte systemer er det naturlig å lage slike rapporter.
Rapportuttrekk kan være aktuelt for systemer som allerede har innebygd funksjonalitet for å lage rapporter til andre formål. Slik funksjonalitet vil ofte være utprøvd og kvalitetssikret og kan gi anvendbare og tilstrekkelige arkiv. Resultatet blir vanligvis en eller flere enkeltfiler med strukturerte data.
Hvis systemet verken har eksportmulighet eller forhåndsdefinerte rapporter, kan man diskutere med systemleverandør om det finnes alternative eksport-muligheter.
Rapportene som lages skal vurderes ut fra bevarings- og kassasjonsvedtaket.
SIARD
For relasjonsdatabaser kan SIARD også være et aktuelt uttrekksformat. SIARD behandles som egen uttrekkstype i denne veilederen, fordi formatet har egne tekniske krav, verktøy og kontrollpunkter.
Metode
Det finnes flere metoder for å trekke ut innholdet fra en database. Metodene varierer med ulike plattformer, nettverk og brukertilganger. For å finne den mest hensiktsmessige metoden for et bestemt system, må dere vurdere mulighetene som er tilgjengelige og samarbeide med de som drifter systemet.
De fleste databaseløsninger har eksportfunksjonalitet innebygget, som ofte likner på funksjonalitet for å importere datatabeller til databasen. Mange databaseløsninger har også liknende funksjonalitet i form av rapportfunksjoner.
En annen måte å gjøre uttrekk fra databaser på, er å foreta spesifikke SELECT-spørringer direkte i databaseløsninger og eksportere resultatet som en tekstfil. På den måten kan man slå sammen tabeller om dette er hensiktsmessig, med tanke på bevaringsvurderingen som er gjort for systemet.
Det finnes også ekstern programvare som kan lese data fra databaser, bearbeide og eksportere dem. Men også programmeringsspråk som Python og C# har pakker som kan brukes for å lese og eksportere data fra databaser. Et annet alternativ er kommandolinjeverktøy i operativsystemene, slik som SQLCMD.
Eksempel på innebygget eksporteringsfunksjon
I Microsoft SQL Server Management Studio (SMSS) kan man høyreklikke på databasen, velge “Tasks” og “Export data”. Man kan da velge hvilke tabeller man vil eksportere, og hvilket tekstfilformat man ønsker dataene i.