|
Creo que hay que ir pensando en 2 cosas:
- diseño de la BBDD
- "Comodidad para los informes (reportes)"
Un Store procedure es igual que un procedure de delphi, solo que está dentro de la Base de datos y escrito en SQL. Al igual que un procedure de delphi, te ayuda a simplificar o dividir un gran problema en problemitas mas pequeños y fáciles de digerir. Consulta la ayuda de MySql.
Por supuesto que mediante un simple Query se podrá hacer, pero requerirá más pericia o malabarismos.
En cuanto a guardar la hora, minutos y segundos en formato Float, yo difiero, porque cuando un decimal, por ejemplo 0.99 se le suma un decimal, se convierte en 1.00 es decir, el cambio en decimal ocurre cada 100 unidades, mientras que el cambio horario se efectúa cada 60 unidades. Por este hecho, quizás estemos complicando los cálculos al guardarlo en tipo Float.
Si tu unidad mínima es "un Minuto", podrías guardar todo en un campo Int64 y convertir todas las diferencias a minutos. Mira en la ayuda de delphi la definición de Int64 y comprueba que jamás en tu aplicación vas a necesitar un número mayor.
Volviendo al tema de informes, en casi todos los generadores de informes (QuickReport, ReportMan, etc) se tiene un evento que se dispara justo antes de imprimir una caja de texto, una banda, etc. En el caso de QuickReport es el evento OnPrint, donde puedes convertir el texto que llegue a tipo entero, realizar cálculos y después devolver el resultado a ese tipo texto.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
|