Jak zbudować bazę danych
W DB Browser najpierw utworzymy bazę danych (patrz materiały szkoleniowe). W zakładce Struktura bazy danych wybierz opcję „Utwórz tabelę”. Najpierw nadaj tabeli nazwę „Kohorta”. W dalszej części zakładki Pola, kliknij na „Dodaj pole”. Będziemy stosować konwencję nazewnictwa, w której nazwa pola będzie zawierać nazwę tabeli (wszystkie pola w tej tabeli będą zaczynać się od cohort_). Robimy to, aby uniknąć powielania nazw pól. Pierwsze pole będzie zawsze unikalnym identyfikatorem dla rekordu. Tutaj nazywamy go cohort_id. W tabeli porównawczej powyżej widać, że SQLite może obsługiwać ograniczoną liczbę typów danych. W tym przypadku naszym wyborem jest text-select it from the drop-down menu. Będzie to „Klucz podstawowy” i „Nie NULL”, co oznacza, że będzie on unikalny i zawsze obecny w każdym dodawanym rekordzie. Po tym dodajemy pola cohort_cross_date, cohort_parent_1 oraz cohort_parent_2, wszystkie trzy jako tekst. Następnie dodamy pole o nazwie „cohort_location” z walidacją dla tekstu. Oznacza to, że pole to będzie akceptowało ograniczoną liczbę opcji. Idealnie byłoby, gdyby wszystkie Twoje pola tekstowe były zaprojektowane w ten sposób. Sposobem na to w DB Brower jest zaprogramowanie sprawdzania, czy dane wejściowe są jedną z opcji, które podałeś wcześniej. Przewiń do prawej strony i znajdź kolumnę „Check”. Wpisz cohort_location==”tank_1″ LUB cohort_location==”tank_2″. Zasadniczo łączysz dozwolone wartości dla cohort_location z Boolean OR. Zauważ również, że musisz użyć podwójnego znaku równości. Składnia dla tego jest field_name == „option” OR field_name==”some_other_option”, i można kontynuować dodawanie OR’s.
The individual table is created in a similar manner, but here we will introduce a foreign key to the cohort table. Oznacza to, że połączymy ją z tabelą kohorty, tak aby tylko id kohort, które zostały utworzone, mogły być wprowadzone do tej tabeli. Dzięki temu dane będą czyste, a także poprawi się szybkość łączenia tabel, które możesz wykonać w przyszłości. Najpierw utwórz pole „individual_id” jako typ danych TEXT i jako klucz podstawowy, nie NULL i unikalny. Następnie, po utworzeniu pola „ind_cohort_id” jako typ danych TEXT, przewiń do kolumny Klucz obcy. Po kliknięciu na odpowiednie pole pojawi się rozwijane menu. W pierwszym rozwijanym menu wybierz tabelę (w tym przypadku cohort), a w kolejnym pole („cohort_id”). W polu txt wpisz ON DELETE SET NULL ON UPDATE CASCADE. Możesz również wybrać opcję „NO ACTION” jeśli chcesz zachować odwołanie do kohorty w tabeli indywidualnej nawet jeśli sam rekord kohorty zostanie usunięty. Obejrzyj okno skryptu SQL poniżej. Powinien pojawić się FOREIGN KEY(`ind_cohort_id`) REFERENCES `cohort`(`cohort_id`). Jeśli ta linia się nie pojawi, odklikaj i kliknij ponownie pola PK, U i NN. Musisz również skonfigurować klucz obcy podczas tworzenia tabeli. Jest to dziwactwo DB Browser (lub błąd). Na koniec, zakończ z „lokalizacją” jako typem danych TEXT.
Na koniec, skonfiguruj „fizyczną” tabelę. Zauważysz nowe typy danych. Po pierwsze, physical_id jest liczbą całkowitą (INT) i jest również auto-incrementalny (AI). Gwarantuje to, że każdy pomiar, który wykonasz będzie traktowany jako unikalny. Zawsze gdy pracujesz z danymi, które są liczbami całkowitymi, takimi jak liczniki, upewnij się, że są to liczby całkowite. Pole „physical_cohort_or_ind” określa, czy mierzony organizm jest śledzony jako osobnik, czy tylko jako część kohorty (ponieważ jest zbyt mały, by go oznaczyć i odróżnić od innych członków kohorty). Ten typ danych to TEXT, z weryfikacją (physical_cohort_or_ind==”cohort” OR physical_cohort_or_ind==”ind”). Wreszcie, pomiary wagi i długości są typu danych NUMERIC. Zauważ, że jednostka miary jest zakodowana w nazwie pola. Możesz również mieć oddzielne pole dla jednostek, jeśli spodziewasz się pracować z różnymi instrumentami i na różnych skalach. Ważną częścią jest utrzymanie jednostek oddzielnie od pomiarów numerycznych, tak aby dane były uporządkowane i gotowe do przekształceń i analiz.