Hur man bygger en databas
I DB Browser skapar du först en databas (se utbildningsmaterial). På fliken Databasstruktur väljer du ”Skapa tabell”. Först namnger du tabellen ”Cohort”. Längre ner under fält klickar du på ”Add Field” (lägg till fält). Vi kommer att följa en namnkonvention där fältnamnet kommer att innehålla tabellens namn (alla fält i den här tabellen kommer att börja med cohort_). Vi gör detta för att undvika dubblering av fältnamn. Det första fältet kommer alltid att vara den unika identifieraren för posten. Här kallar vi det cohort_id. Du ser i jämförelsetabellen ovan att SQLite kan hantera ett begränsat antal datatyper. I det här fallet är vårt val text-select it från rullgardinsmenyn. Den kommer att vara en ”Primary key” och ”Not NULL”, vilket innebär att den kommer att vara unik och alltid finnas med i varje post du lägger till. Därefter lägger du till fälten cohort_cross_date, cohort_parent_1 och cohort_parent_2, alla tre som text. Därefter lägger vi till ett fält som heter ”cohort_location” med validering för text. Detta innebär att fältet kommer att acceptera ett begränsat antal alternativ. Helst ska alla dina textfält vara utformade på detta sätt. Sättet att göra detta i DB Brower är att programmera en kontroll för att se om de inmatade uppgifterna är ett av de alternativ som du har gett dem i förväg. Bläddra till höger och leta upp kolumnen ”Kontroll”. Ange cohort_location==”tank_1″ OR cohort_location==”tank_2″. I huvudsak sätter du ihop de tillåtna värdena för cohort_location med det booleska ordet OR. Observera också att du måste använda det dubbla likhetstecknet. Syntaxen för detta är field_name == ”option” OR field_name==”some_other_option”, och du kan fortsätta att lägga till OR’s.
Den individuella tabellen skapas på ett liknande sätt, men här kommer vi att införa en främmande nyckel till kohorttabellen. Detta innebär att vi kommer att koppla den till kohorttabellen, så att endast id:n för de kohorter som har skapats kan läggas in i den här tabellen. Detta håller uppgifterna rena och förbättrar hastigheten för alla tabellförbindelser som du kan välja att göra i framtiden. Skapa först fältet ”individual_id” som en TEXT-datatyp och som Primary Key, Not NULL och Unique. När du sedan skapar ”ind_cohort_id” som en TEXT-datatyp, bläddrar du till kolumnen Foreign Key. När du klickar på lämpligt fält visas en rullgardinsmeny. I den första rullgardinsmenyn väljer du tabellen (i det här fallet kohort) och i nästa rullgardinsmenyn fältet (”cohort_id”). I textrutan skriver du ON DELETE SET NULL ON UPDATE CASCADE. Du kan också välja ”NO ACTION” om du vill behålla referensen till kohorten i den individuella tabellen även om själva kohorten tas bort. Titta på SQL-skriptfönstret nedan. Det bör visa FOREIGN KEY(`ind_cohort_id`) REFERENCES `cohort`(`cohort_id`). Om den här raden inte visas, klicka bort och klicka tillbaka på fälten PK, U och NN. Du måste också ställa in den främmande nyckeln när du skapar tabellen. Detta är en egenhet hos DB Browser (eller en bugg). Slutligen avslutar du med ”location” som en TEXT-datatyp.
Slutligt ställer du in den ”fysiska” tabellen. Du kommer att märka nya datatyper. Först och främst är physical_id ett heltal (INT) och är dessutom autoinkrementell (AI). Detta säkerställer att varje mätning som du gör kommer att behandlas som unik. När du arbetar med data som kommer som hela tal, t.ex. antal, ska du se till att validera data för att säkerställa att de är heltal. Fältet ”physical_cohort_or_ind” fastställer om den uppmätta organismen spåras som en individ eller endast som en del av kohorten (eftersom den är för liten för att märkas och särskiljas från de andra medlemmarna i kohorten). Denna datatyp är TEXT, med kontroll (physical_cohort_or_ind==’cohort’ OR physical_cohort_or_ind==’ind’). Slutligen är mätningarna av vikt och längd av datatypen NUMERIC. Observera att måttenheten är kodad i fältnamnet. Du kan också ha ett separat fält för enheter om du räknar med att arbeta med olika instrument och på olika skalor. Det viktiga är att hålla enheterna åtskilda från det numeriska måttet, så att dina data är prydliga och redo för omvandlingar och analyser.