Como construir uma Base de Dados
No DB Browser você vai criar uma base de dados primeiro (veja materiais de treinamento). Na aba Estrutura do Banco de Dados, selecione “Criar Tabela”. Primeiro, nomeie a tabela “Cohort”. Mais abaixo, em Campos, clique em “Adicionar Campo”. Vamos seguir uma convenção de nomes na qual o nome do campo vai conter o nome da tabela (todos os campos desta tabela vão começar com cohort_). Estamos fazendo isso para evitar a duplicação de nomes de campos. O primeiro campo será sempre o identificador único para o registro. Aqui nós o chamamos cohort_id. Você verá na tabela de comparação acima que o SQLite pode lidar com um número limitado de tipos de dados. Neste caso a nossa escolha é o texto – seleccione-o a partir do menu drop-down. Vai ser uma “Primary key” e “Not NULL”, o que significa que será única e sempre presente em cada registo que adicionar. Depois disso, adicione os campos cohort_cross_date, cohort_parent_1 e cohort_parent_2, todos os três como texto. Em seguida, vamos adicionar um campo chamado “cohort_location” com validação para texto. Isto significa que o campo vai aceitar um número limitado de opções. O ideal é que todos os seus campos de texto sejam desenhados desta forma. A maneira de fazer isso no DB Brower é programar uma verificação para ver se os dados de entrada são uma das opções que você lhe deu de antemão. Vá para a direita e localize a coluna “Verificar”. Entrar cohort_location==”tank_1″ OU cohort_location==”tank_2″. Essencialmente, o usuário está encadeando os valores permitidos para cohort_location com o OR booleano. Observar também que é necessário utilizar o sinal duplo de igualdade. A sintaxe para isto é field_name == “option” OR field_name===”some_other_option”, e você pode continuar adicionando OR’s.
A tabela individual é criada de maneira similar, mas aqui nós introduziremos uma chave estrangeira para a tabela de coorte. Isto significa que vamos ligá-la à tabela de coorte, para que apenas os ID’s das coortes que foram criadas possam ser inseridos nesta tabela. Isto mantém os dados limpos, e melhora a velocidade de qualquer união de tabela que você possa escolher fazer no futuro. Primeiro, crie o campo “individual_id” como um tipo de dado TEXTO e como Chave primária, não NULL e Unique. Em seguida, quando criar “ind_cohort_id” como um tipo de dados TEXT, vá para a coluna Chave Estrangeira. Quando clicar no campo apropriado, aparecerá um menu drop-down. No primeiro menu drop-down escolha a tabela (neste caso, coorte) e no campo seguinte (“cohort_id”). Na caixa txt, digite ON DELETE SET NULL ON UPDATE CASCADE. Também é possível selecionar “NO ACTION” para manter a referência à coorte na tabela individual, mesmo que o registro de coorte em si seja eliminado. Observe a janela do script SQL abaixo. Ela deve mostrar FOREIGN KEY(`ind_cohort_id`) REFERENCES `cohort`(`cohort_id`). Se esta linha não aparecer, desclique e clique de volta nos campos PK, U e NN. Você também tem que configurar a chave estrangeira quando criar a tabela. Esta é uma peculiaridade do DB Browser (ou um bug). Finalmente, termine com “localização” como um tipo de dado TEXT.
Finalmente, defina a tabela “física”. Você vai notar novos tipos de dados. Primeiro de tudo, o physical_id é um número inteiro (INT) e também é auto-incremental (AI). Isso garante que cada medida que você fizer será tratada como única. Sempre que você estiver trabalhando com dados que vêm como números inteiros, tais como contagens, certifique-se de validar os dados para garantir que eles sejam inteiros. O campo “physical_cohort_or_ind” verifica se o organismo medido está sendo rastreado como um indivíduo ou apenas como parte da coorte (porque é muito pequeno para ser marcado e distinguido dos outros membros da coorte). Este tipo de dado é TEXT, com Check (physical_cohort_or_ind===’cohort’ OU physical_cohort_or_ind===’ind’). Finalmente, as medidas de peso e comprimento são do tipo de dados NUMÉRICOS. Observe que a unidade de medida está codificada no nome do campo. Também é possível ter um campo separado para unidades se se espera trabalhar com instrumentos diferentes e em escalas diferentes. A parte importante é manter as unidades separadas da medição numérica, para que seus dados estejam arrumados e prontos para transformações e análises.