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

Rastreamento de impressões de banner - design de banco de dados


Eu recomendo criar o design mais flexível que permita criar novos relatórios à medida que os requisitos se estenderem no futuro. Você sugere que o cliente queira relatórios sobre "impressões por dia". E se eles chegarem mais tarde e disserem "em que hora do dia as impressões são mais mostradas"? Que tal "quando eles são mais clicados"?

Portanto, a maneira mais flexível de fazer isso é ter 1 registro para cada impressão, em que cada registro é justbanner_idtimestamp

Mais tarde, você pode criar um procedimento armazenado que agrega dados históricos e, assim, elimina ENORMES quantidades de dados que você acumulou - criando assim relatórios no nível de granularidade com o qual você se importa. Posso imaginar armazenar dados por hora por um mês e dados diários por um ano. Os procs armazenados apenas gravariam em uma tabela de arquivo:
  • ID do banner
  • Identificador de intervalo de tempo (do mês/ano para dados mensais, ou dia/mês/ano para dados diários etc.)
  • Número de impressões