![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#12
|
||||
|
||||
|
Cita:
Disculpa que lo diga, pero me resulta un poco de desperdicio estar ingresando información que es redundante. A lo que voy es que puedes implementar una regla del tipo:
La explicación es simple: se compara el dato leído con el anterior (puede estar en una variable) y si son distintos guardarlos. El truco está entonces en que tu tabla guardará siempre y cuando se ha detectado un cambio (que no sea la hora claro está). Con esto consigues algo por el estilo: HORA DATO 00:00 xxx 00:40 xxy ¿Que significa esto? que durante 40 min no se han detectado cambios. Podrías diseñar tu sistema de manera que al migrar chequee las fechas y haga un análisis de los repetidos y te evitas la redundancia. Es lo mismo tener esto: 00:00 xxx ... 00:39 xxx 00:40 xxy Que tener esto: 00:00 xxx 00:40 xxy ¿Donde está el truco? En que se debe hacer una simple resta entre las horas para dectar los tiempos en que los datos han variado. Si se necesita saber los tiempos, dejaselo que te lo calcule, si fácilmente esa información puede ser "recuperada" a partir de otra. No se si me entiende... La matemática es muy simple, y exacta. Veamos con un ejemplo: supongamos que deseamos obtener el promedio de la temperatura de los primeros 6 minutos del día: 00:00 10 00:01 15 00:02 15 00:03 20 00:04 17 00:05 18 00:06 15 Promedio: (10+15+15+20+17+18+15)/6 = 18,33 Con la versión simplificada: HORA DATO DIF_MIN 00:00 10 1 // la diferencia de min con el día anterior... 00:01 15 1 00:03 20 2 // 3-1 00:04 17 1 00:05 18 1 00:06 15 1 Promedio: (10x1+15x2+...+15x1)/6 = 18,33 Puede que te resulte complicado entenderme, pero si te fijas bien, el modelo "extendido" puede convivir con la versión "simplificada" si llevas ese campo DIF_MIN, 00:00 10 1 00:01 15 1 00:02 15 1 ... 00:06 15 1 Y la matemática sigue cumpliendose... En teoría, no habría problemas en hacer convivir tus datos viejos con los nuevos (si es eso lo que te puede asustar). Por lo que las estadísticas y las operaciones que hagas no se verían afectadas por los repetidos. Ahora tal vez tu me dirás, que deberá chequearse en la base de datos siempre el último valor... pero eso no es cierto, si no entendí mal nada impide que nos quedemos en alguna variable con los últimos datos cargados y allí mismo compararlos y hacer la carga de ser necesario. Y es en esta etapa cuando podemos hacer el cálculo de las diferencias, ya que contamos con dicha información. Con esto te evitas tener que consultar la base de datos minuto a minuto y no haces lento al servidor al pedir que te haga esos cálculos de diferencia de minutos. Realmente espero que se entienda mi idea. Cuando se desee armar una consulta, se pueden hacer los ajustes para que los muestre como si siguieran trabajando con excel (si deseas), el truco aquí es trabajr gracias a ese dichoso campo DIF_MIN. Independientemente si se trata de una o 5 tablas, este esquema funciona. Igualmente sigue haciendo falta análisis en el tema, pero creo que la idea está. Saludos, Última edición por Delphius fecha: 23-02-2008 a las 01:42:22. |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Herramienta case para diccionario de datos de base de datos firebird | mcalmanovici | Firebird e Interbase | 1 | 11-02-2007 15:17:37 |
| Como conectarme a una base de datos hecha en firebird? | JuanErasmo | .NET | 5 | 30-12-2006 18:13:03 |
| base de datos firebird | Zehcliv | Conexión con bases de datos | 3 | 04-10-2006 17:45:27 |
| Como conectar una Base de Datos en Firebird con TSQL Conection ?? | Fer Gómez | Firebird e Interbase | 0 | 08-02-2006 20:52:37 |
| como pasar una base de datos de fotografias en access a firebird | Nelly | Firebird e Interbase | 1 | 06-10-2005 17:48:45 |
|