
Databaser och kalkylblad
Även om databaser och kalkylprogram har olika funktioner används de olika typerna av applikationer i många fall på liknande sätt för att samla in och lagra data (dvs. i rader och kolumner). Här fokuserar vi på data som skapats genom den enklaste typen av kalkylblad (Excel) eller i mer avancerade program för statistisk analys (SPSS, STATA m.fl.).
Databaser
Databaser kan delas in i olika typer baserade på hur de är uppbyggda.
Kalkylblad är den enklaste formen av databaser och består vanligtvis av ett eller flera blad med tabulerade data. Kalkylblad kan även innehålla formler, bilder, diagram och tabeller, samt ytterligare värden, till exempel totalsumman av en kolumn, som skapas genom olika formler.
Databaser består i regel av mer än enbart värden och metadata. Användaren är ofta i kontakt med databasen enbart genom ett formulär som används för att lägga in data eller för att göra beräkningar. Formulären kan därför ses som en del av databasen även om de är separerade från datavärdena. Även frågeställningar och resultat eller rapporter kan ses som ”icke-data-delar” av databasen. Om de behövs för att förstå eller återanvända materialet bör de lagras tillsammans med databasen.
Olika typer av databaser
Hierarkiska databaser är en äldre typ av databasmodell där data lagras i en trädstruktur, det vill säga med ett förälder-barn-förhållande. Varje post består av en ”förälder” som kan ha ett eller flera ”barn”, som i sin tur kan ha egna ”barn”. Systemet är mycket smidigt när det gäller att ta fram enskilda poster och det är enkelt att lägga till och/eller ta bort information, men modellen är minneskrävande och det är också svårt att markera relationer mellan ”barn” i olika delar av trädstrukturen.
Rektangulära databaser liknar kalkylblad på så sätt att data ordnas i horisontella rader och vertikala kolumner, där data om det undersöka objektet sorteras som olika värden eller attribut.
Relationsdatabaser är en datastruktur som är fördefinierad genom att data med liknande attribut grupperas i separata tabeller som sedan länkas ihop genom så kallade nyckelfält. Kombinationen av ett eller flera nyckelfält kan generera en nyckel.
Objektorienterade databaser lagrar komplexa objekt, till exempel multimediafiler och CAD-objekt. Data lagras vanligtvis inte i databasen utan som attribut i objektet. När ett program anropar en objektdatabas görs sökningen inte alltid direkt i databasen, utan programmet ber objektet att utföra en bestämd rutin och leverera ett resultat.
Viktiga egenskaper
Kalkylblad kan delas i de vanligaste formaten (.xlsx, .ods) eller exporteras till avgränsad text (.csv, .tsv). Alla dessa filformat är välkända och stöds brett. Själva filformatet skapar därför sällan problem. I praktiken är det oftare hur data har strukturerats i filen eller hur dokumentationen är skriven som kan begränsa återanvändbarheten. För textfiler med separatortecken (.csv, .tsv) bör varje fil endast innehålla en ensam logisk tabell, där första raden i filen utgör variabelnamn eller kolumnrubriker och varje påföljande rad utgör en datapost med datavärden som hör till respektive kolumn.
Databasfiler hanteras inte alls i samma utsträckning som kalkylblad och många sekundäranvändare skulle troligtvis betrakta databasfiler som svårhanterliga. Det kan därför vara bra att exportera databasens innehåll till avgränsad text (.csv) för att öka återanvändbarheten för data som delas, under förutsättning att viktiga relationer mellan tabeller inte går förlorade.
Om databasen ska delas med avsikt att hela databasstrukturen (snarare än bara databastabellens innehåll) ska återanvändas är det lämpligt att göra en så kallad databasdump i textform. Utifrån sådana textfiler kan en sekundäranvändare sedan bygga upp hela databasen med datainnehåll från grunden. Oftast innehåller filerna SQL-syntax (.sql). För att undvika problem som kan uppstå på grund av skillnader mellan olika databasprogram har man tagit fram standarden SIARD (.siard), där en databasdump lagras på ett teknikneutralt sätt i en XML-struktur.
Som komplement till en databasdump är det också möjligt att dela databaser i ett binärt databasformat som snabbt kan återanvändas i många verktyg. Ett exempel på detta är den väldokumenterade och öppna SQLite-standarden (.db, .db3, .sqlite).
Statistikdata är ofta utökade tabelldata där variabler, formler och så vidare har tillhörande metadata. Tyvärr är de flesta filformat som statistikprogram sparar i proprietära, men export av statistikdata till avgränsad text eller kalkylblad kan försvåra dataanalyser för sekundäranvändare eftersom metadata då separeras från själva data. Filformaten SPSS (.sav, .por) och STATA (.dta) är välkända och stöds även av vissa öppna program.
Tänk på att det är möjligt att dela samma datamaterial i flera olika filformat inom ett dataset, till exempel kan datatabeller från en .sav-fil läggas till som en avgränsad textfil (.csv). Om formler, skript och annan programspecifik syntax sparas i statistikdatafilerna kan detta innehåll exporteras till textfiler som kompletterande information, så att sekundäranvändare som inte kan öppna de proprietära formaten ändå kan granska bearbetningsflödet.
Tänk på:
- Använd om möjligt kontrollerade vokabulärer och etablerade nyckelordlistor när data matas in i databaser och kalkylblad.
- Var konsekvent och använd meningsfulla och lättförståeliga namn på tabeller/kalkylblad och rader/kolumner. Var medveten om att det inte är säkert att tabeller och/eller kalkylblad kommer att lagras i en och samma fil.
- Undvik att använda formatering och sidlayout för att markera betydelsen av olika värden i ett kalkylark. Om du använder sådana layoutfunktioner är det viktigt att spara denna ytterligare information parallellt, till exempel i PDF/A-format, för att bevara utseendet på data, eftersom formatering ofta går förlorad när man exporterar data från tabeller till textbaserade format.
Vad ska bevaras?
Det centrala i databaser och kalkylblad är själva datatabellerna/-bladen tillsammans med dokumentation och metadata som beskriver innehållet i och relationerna mellan tabeller och blad.
Grundläggande filelement som ska bevaras och underhållas är:
Värden: Cellrubriker och värdet i cellerna. En fil kan innehålla flera blad med data eller tabeller.
Bilder: Figurer, diagram och tabeller som finns i kalkylblad bör lagras som separata filer. Det är möjligt att länka till externa filer för att visa relationer mellan olika element. Dokumentera var filerna sparas och namnge dem så att det är lätt att se vart de hör.
Relationer: I databaser, men även i kalkylblad, är det viktigt att relationer mellan tabeller/blad är väldokumenterade och begripliga.
Formler, queries (urval/förfrågningar), makron: Om en fil innehåller komplexa formler eller urvalsförfrågningar måste dessa bevaras separat i en textfil så att kalkylbladets funktionalitet kan återskapas vid ett senare tillfälle.
Kommentarer och anteckningar: Kontrollera att eventuella kommentarer och anteckningar i en fil kommer med. Dessa måste sparas i en separat fil med tydlig information om vilken fil och vilken cell som kommentaren/anteckningen hör till.
Dolda eller skyddade data: Ibland innehåller kalkylblad dolda eller skyddade celler. Dessa celler måste identifieras så att informationen i dem inte går förlorad.
Föreslagna filformat för delning
- Microsoft Excel, formellt Office Open XML Workbook format, (.xlsx),
- OpenDocument Spreadsheet (.ods)
- Avgränsad text (oftast benämnt .csv eller .tsv)
- SQL-syntax i textfil (.sql)
- SIARD (.siard)
- SQLite (oftast benämnt .db, .db3, .sqlite)
- SPSS (.sav, .por)
- STATA (.dta)
- R (.rdata, .rda)
Mer information om filformaten databaser och kalkylblad hittar du i Svensk nationell datatjänsts guide Databaser och kalkylbladÖppnas i en ny tabb.