Um estudo sobre alternativas de representação de dados temporais em bancos de dados relacionais - Cassol, Tiago Sperb (2012)
Informações temporais estão presentes numa ampla gama de aplicações. Praticamente qualquer aplicação possui pelo menos um campo que contém dados temporais como datas ou timestamps. Entretanto, bancos de dados tradicionais não tem um suporte amplo para armazenamento e consulta sobre esse tipo de dados eficientemente, e SGBDs com suporte nativo para dados temporais raramente estão disponíveis para os desenvolvedores de sistemas. Na maior parte do tempo, bases de dados comuns são usadas para armazenar dados das aplicações, e quando dados temporais são necessários, eles são gerenciados utilizando o pobre suporte oferecido por SGBDs relacionais tradicionais. Dito isso, o projetista da base de dados precisa confiar em um bom design de esquema para que a dificuldade natural enfrentada ao lidar com dados temporais possa ser minimizada. Enquanto algumas escolhas de design podem parecer óbvias, outras são difíceis de avaliar apenas com uma análise superficial, necessitando experimentação antes de serem aplicadas ou não. Por exemplo, em vários casos pode ser difícil de medir o quanto uma determinada escolha de design vai afetar o consumo de espaço em disco, e quanto essa mesma escolha afetará a performance geral. Esse tipo de informação é necessária para que o projetista da base de dados seja capaz de determinar se , por exemplo, o aumento no consumo de espaço em disco gerado por uma escolha específica é aceitável por conta da melhora de performance que ela oferece. O problema é que não há estudo que analise as escolhas de design disponíveis, fazendo uma análise através de dados concretos. Mesmo quando é fácil identificar, dentre duas escolhas, qual tem performance melhor em um determinado critério, é difícil mensurar o quão melhor a escolha melhor se sai, e se algum efeito colateral trazido por ela é aceitável. Ter dados concretos para suportar esse tipo de decisão permite ao projetista da base de dados fazer escolhas que se enquadram melhor no contexto da sua aplicação. O objetivo desse trabalho é analisar algumas escolhas de design comuns para representar e gerenciar dados temporais em SGBDs relacionais tradicionais, provendo direcionamento sobre qual alternativa se enquadra melhor em cada situação onde dados temporais são necessários. Dados concretos sobre cada uma das alternativas estudadas são gerados e analisados e conclusões são obtidas a partir deles.