Visão geral
Existem muitas representações possíveis e, portanto, esquemas de banco de dados, para armazenar datas-tempos difusas (ou até mesmo datas difusas):
- Data-hora e código indicando sua precisão ou exatidão
- Data e hora e intervalo em que há várias possibilidades para representar um intervalo:
- Representa todos os intervalos como uma quantidade inteira (ou outra numérica) de alguma unidade fixa, por ex. dias, minutos, nanossegundos.
- Representa um intervalo como uma quantidade inteira (ou outra numérica) e um código indicando suas unidades.
- Horários de início e término
- String
- Distribuição de probabilidade:
- Quantidades decimais ou de ponto flutuante para os parâmetros que especificam uma distribuição específica em uma família particular, por exemplo, média e desvio padrão de uma distribuição normal.
- Função de distribuição de probabilidade, por ex. como um código (de pesquisa) (potencialmente com parâmetros de valores específicos) ou como uma expressão em linguagem, formato ou representação suficientemente expressiva.
[1], [2] e [3] são todos intervalos (implicitamente) uniformes, isto é, um conjunto de pontos (igualmente) possíveis no tempo.
[4] é o mais expressivo, ou seja, ao permitir quaisquer frases ou frases de linguagem escrita possíveis (ou pelo menos arbitrariamente longas). Mas também é o mais difícil de se trabalhar. No limite, a AI de nível humano seria necessária para manipular valores arbitrários. Praticamente, a faixa de valores possíveis precisaria ser restringida severamente, e valores alternativos "estruturados" provavelmente seriam preferidos para muitas operações, por exemplo, ordenando, pesquisando.
[5] é provavelmente a representação mais geral compacta que é (um pouco) prática.
Intervalos uniformes
Intervalos uniformes são a forma compacta mais simples de representar um conjunto de valores (possíveis) de data e hora.
Para [1], partes do valor de data e hora são ignoradas, isto é, as partes correspondentes a unidades mais finas do que a precisão ou precisão indicadas; caso contrário, isso é equivalente a [2] e o código de precisão / precisão é equivalente a um intervalo com as mesmas unidades (e uma quantidade implícita de 1).
[2] e [3] são expressivamente equivalentes. [1] é estritamente menos expressivo do que ou porque existem intervalos efetivos que não podem ser representados por [1], ex. um fuzzy date-time equivalente a um intervalo de 12 horas que abrange um limite de data.
[1] é mais fácil para os usuários inserirem do que qualquer outra representação e geralmente deve exigir (pelo menos um pouco) menos digitação. Se os tempos de data podem ser inseridos em várias representações de texto, por ex. "2013", "2014-3", "2015-5-2", "30/07/2016 11p", "2016-07-31 18:15", a precisão ou precisão também pode ser deduzida automaticamente da entrada .
A exatidão ou precisão de [1] também é mais fácil de converter em um formulário a ser transmitido aos usuários, por exemplo, '2015-5 com precisão mensal' a 'maio de 2015', versus '13 de maio de 2015 2p, mais ou menos 13,5 dias' (apesar de que este último não pode ser representado por [1] de qualquer forma).
Cordas
Praticamente, os valores de sequência precisarão ser convertidos em outras representações para consulta, classificação ou comparação de vários valores. Portanto, embora qualquer linguagem natural (humana) escrita seja estritamente mais expressiva do que [1], [2], [3] ou [5], ainda não temos meios de lidar com muito além das representações ou formatos de texto padrão. Dado que, esta é provavelmente a representação menos útil por si mesma .
Uma vantagem dessa representação é que os valores devem, na prática, ser apresentados aos usuários como estão e não exigir que a transformação seja facilmente compreendida.
Distribuições de probabilidade
As distribuições de probabilidade generalizam as representações uniformes de intervalo [1], [2], [3] e (discutivelmente) são equivalentes à representação de string (geral) [4].
Uma vantagem das distribuições de probabilidade sobre strings é que a primeira não é ambígua.
[5-1] seria apropriado para valores que (principalmente) estão em conformidade com uma distribuição existente, por exemplo um valor de data e hora emitido por um dispositivo para o qual as medições são conhecidas (ou consideradas) para se adequar a uma distribuição específica.
[5-2] é provavelmente a melhor maneira (prática) de compactamente representar valores arbitrários de 'fuzzy datetime'. É claro que a computabilidade das distribuições de probabilidade específicas usadas importa e há definitivamente problemas interessantes (e talvez impossíveis) a serem resolvidos ao consultar, classificar ou comparar diferentes valores, mas muito disso provavelmente já é conhecido ou resolvido em algum lugar do existente. literatura matemática e estatística, então isso definitivamente se apresenta como uma representação extremamente geral e não ambígua.