Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/12/2005, 05:26
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si hablas de Base de datos (al mencionar el termino "campo") tendrás que especificar que Base de datos usas: Mysql? ..

Mysql como toda BD tiene su própio tipo de datos para gestionar fechas: campos tipo DATE o DATETIME .. (entre otros) y dentro del SQL própio de Mysql tienes funciones para trabajar con fechas, hacer cálculos con ellas .. y en su defecto formatear fechas hacia otro tipo de formatos como un Unix TimeStamp (que es lo que trabaja "time()" de PHP) para operar con ese dato.

Por mi parte siempre recomiendo tratar el tema de manejo de datos si es con BD con el "SQL" (lenguaje estructurado de consultas) que para eso está, dejando el trabajo a la BD .. no mezclando "PHP" por médio para un proceso que con más uso de SQL se puede solventar en la mayoría de casos.

Otro detalle es el tema que mencionas de hacer un cálculo y almacenarlo en otro campo. Hay siempre está la discursión de "espacio" vs "tiempo proceso", es decir .. el dilema está en sacrificar más espacio en tu BD para almacenar ese dato o calcularlo cuando lo necesites obtener en función de los otros parámetros que ya almacenas. Ten presente para tomar esta decisión:

Si cambias un dato del "tiempo inicio o fin" .. y almacenas ese dato en otro campo de tu Tabla, .. tendrás que implementar rutinas para ver si el dato cambió .. esto es fácilmente controlable si sólo accedes a esa BD por un script PHP .. pero si accedes directamente a los datos (por "detras") tendrás problemas. Por otro lado el beneficio de hacer el cálculo sólo cuando los datos origen cambian te dará un mejor rendimiento en tus consultas SQL pues no tendras que realizar constantemente el cálculo. En muchos casos ese tiempo de proceso podría ser "despreciable" (de todas formas hay que hacer pruebas -reales- para decidir si realmente en tu caso particular ese tiempo de proceso es o podría ser "despreciable").

Un saludo,