Hola invitado         10 Sep, 2010 - 09:59
Menú principal
 
Ads
 
Patrocinadores
 
Anuncios
 
© 2009 PortalFox
Conflicto en rango de fechas (Christof Wollenhaupt) Traducción lecturas 1706
 Enviado por amby en Viernes, 21 Marzo, 2008
Artículos En este escrito, el autor comenta la solución al escenario de planificar períodos de actividades, con la problemática de que se pudieran solapar.

Conflicto en rango de fechas

Artículo original: Date range conflicts
http://www.foxpert.com/knowlbits_200711_1.htm
Autor: Christof Wollenhaupt (http://www.foxpert.com/knowlbits.htm)
Traducido por: Ana María Bisbé York (amby@telefonica.net)
Para: PortalFox (http://www.portalfox.com)


Un problema común en las aplicaciones de bases de datos es comprobar los conflictos en rangos de fecha o fecha-hora. Por ejemplo, su aplicación puede manejar citas que tienen fecha de inicio y duración. Aquí podríamos hablar de minutos o días, el problema fundamental sigue siendo el mismo. Cuando actualice una cita nueva tiene que asegurarse de que no entra en conflicto con una existente.

El problema con los rangos de fecha está en que hay cuatro variaciones que tiene que cubrir. (a) Un rango puede no tener conflicto con otro rango, (b) podría fallar completamente dentro de otro rango, (c) empieza antes; pero termina dentro de otro rango, (d) empieza dentro; pero termina después que otro rango. No puedo nunca recordar la consulta para comprobar cualquier elemento conflictivo. Entonces, (basado en http://ryanfarley.com/blog/archive/2004/08/19/966.aspx):

Si alguna de las fechas puede estar vacía:

(NOT((table.date_end < m.date_start) ;
  or (table.date_start > m.date_end)))

Si la fecha final en la tabla puede estar vacía lo que significa un día en la cita, el código podría ser:

(NOT ((table.date_end < m.date_start) ;
  OR (table.date_start > m.date_end))) ;
  OR (table.date_end=={} AND ;
  BETWEEN(table.date_start,m.date_start,m.date_end))

Esta expresión puede ser utilizada en una sentencia SET FILTER TO o en una cláusula WHERE. Si necesita filtrar en un criterio adicional (recursos, etc.) puede agregar esos filtros con AND. La expresión se puede optimizar con Rushmore cuando tiene un índice por date_end y date_start en la tabla.


 Versión imprimible  
Conflicto en rango de fechas (Christof Wollenhaupt) Traducción | Entrar/Crear una cuenta | 0 Comentarios
Los comentarios son propiedad de sus respectivos autores.
No somos responsables de su contenido.



Todas las marcas y los logos utilizados en este sitio son propiedad de sus respectivos dueños.
Los artículos, noticias y comentarios son propiedad y responsabilidad de sus respectivos autores.
Copyright © 2000-2010 PortalFox. Todos los derechos reservados.