Pregunta

¿Cómo representar un href="http://en.wikipedia.org/wiki/Temporal_database" rel="noreferrer"> temporal relación tabla de unión (también conocido como enlace / puente / mapa) para conectar las dos partes.

es la adición de seguimiento temporal tan simple como incluir un ValidStart y ValidEnd columnas en la tabla de unión? Si usted ha hecho esto, ¿qué problemas (si los hay) corriste en? ¿Hay un método mejor para hacer el seguimiento de los cambios a través del tiempo en este tipo de relación?

Si se ayuda a todos, en mi caso estoy usando específicamente SQL 2008 y los datos temporales no es bitemporal ya que sólo estoy de seguimiento de tiempo válido.

¿Fue útil?

Solución

Estoy trabajando en un proyecto (hace algunos años) que utiliza tanto los datos temporales y las relaciones temporales de muchos a muchos. Cada tabla tiene validFrom y ValidUntil columnas (fechas que almacenan solamente).

En primer lugar hay que definir la semántica de las columnas * válidos, es decir, si ValidUntil está incluido o excluido de la gama de validez. También es necesario especificar si las fechas son válidas NULL y cuál es su significado es.

A continuación, tiene un par de funciones, tales como dbo.Overlaps2 () y dbo.Overlaps3 () que reciben 2 y 3 intervalos de fechas, respectivamente, y devuelve 1 si los intervalos de fechas se superponen y 0 en caso contrario.

Además de eso, he definido puntos de vista de las relaciones muchos-a-muchos con dbo.Overlap3 (...) = 1.

Un punto adicional es tener un conjunto de funciones que calculan el rango de validez eficaz basada en las fechas en 2 o 3 tablas relacionadas.

Recientemente he tenido que añadir la funcionalidad para permitir a un usuario visualizar todos los datos disponibles, o sólo los datos actualmente vigentes. Puedo guardar este ajuste en una tabla de usuarios, asocio el SPID para el usuario al abrir una conexión, y filtrar los registros en otro conjunto de puntos de vista.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top