Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

sugestão para criar estrutura de banco de dados mysql


Se entendi corretamente, log é para gravar automaticamente os detalhes das ações do usuário e profile mantém os detalhes do usuário.

Para o log tabela, você parece estar tentando reter dados resumidos, que precisariam ser atualizados a cada envio de formulário. Eu sugiro que você apenas insira uma nova entrada de log [por exemplo, log_id , log_date , profile_id , amount ] na submissão e deixar a agregação para o relatório. Para habilitar a junção de log para profile , incluímos profile_id .

Para o profile tabela, você provavelmente deve permitir entradas duplicadas de first_name |last_name |dob e tente encontrar outra maneira de torná-los únicos (usando profile_id , ou por e-mail, ou passaporte nº).

Não tenho certeza de suas intenções para rowone , rowtwo , rowthree . Se você sabe quais são, então nomeie-os explicitamente; se forem para itens que se repetem um número desconhecido de vezes, considere movê-los para uma tabela separada (ou seja, normalizar).

Para o seu relatório, você escreverá uma consulta para ingressar no log e profile tabelas juntas, com agregação (ou seja, GROUP BY com SUM e/ou COUNT nos campos necessários. "Visit Count" seria o COUNT de entradas de log para esse perfil, "Amount" seria o SUM da amount .