Otras soluciones
· Técnica de ventanas:
Para fechas que se encuentren dentro de un periodo de 100 años, se pueden seguir usando dos dígitos utilizando una diferencia fija de años como punto de inicio de ese periodo de 100 años.
Supongamos, por ejemplo, el caso de una Universidad en la que los estudiantes no pueden ingresar antes de los 21 años, ni permanecer después de los 30. En este caso, las fechas de nacimiento de los estudiantes que hubiesen ingresado después de la Segunda Guerra Mundial, empezarían todas a partir de 1915 (máxima edad de 30 años en 1945). Así tenemos un tramo de 15 años desde 1900, de forma que, internamente en el sistema, podríamos utilizar 00 para el años 1915 y 99 para el año 2014. Para los próximos 17 años sería suficiente esta ventana para el cálculo de las fechas en este contexto.
La fecha de nacimiento de un estudiante que hubiera nacido el 7 de Junio de 1976 se introduciría en el sistema como 07.06.76. El programa restaría, automáticamente, el tramo fijo de 15 años y la almacenará como 07.06.61. Cuando el programa tuviese que calcular la última fecha en la que ese estudiante podría presentarse a examen, añadiría 30 (máxima edad permitida en esa Universidad) a la fecha de nacimiento del mismo, lo que generaría 07.06.91. Para el informe de salida al operador, el programa añadiría los 15 años del tramo fijo y presentariá la fecha correspondiente como 07.06.06.
Las ventajas de la técnica de ventanas son, por supuesto, de costes:
- No son necesarias ampliaciones de los campos de la fecha.
- No hay que modificar los cálculos de fechas.
- Sólo se necesitan las rutinas de tramo fijo para presentar las fechas al exterior.
- Son una buena alternativa para programas que vayan a ser eliminados o sustituidos en un futuro próximo.
Entre los inconvenientes se puede citar:
- Sólo son posibles periodos de 100 años.
- Para periodos de más de 100 años son precisas dos pasadas diferentes para grupos de datos separados.
- Riesgos potenciales de que los periodos tengan que exceder los 100 años (ya no es tan extraño que las personas superen los 100 años de edad).
- Las transferencias de datos entre programas precisan rutinas puente.
- La complejidad del método es una fuente potencial de errores de los programadores.
· Sistemas de comprensión
La comprensión o codificación significa que con dos posiciones (bytes) es posible contar más allá de 99, es posible contar en hexadecimal hasta 255. Incluso con reglas de codificación limitadas a 0-9 y A-Z (la base es, entonces, 36) la cuenta puede ir de 1999 a 3195.
Las ventajas son:
- No es preciso ampliar el formatos de dos dígitos.
- No hace falta ampliar los cambos en las bases de datos y archivos.
- No se requiere reconstruir las bases de datos.
Entre los inconvenientes están:
- Siguen existiendo limitaciones de rango de fechas, aunque el límite pueda estar lejano.
- Las rutinas de búsqueda han de ser modificadas.
- Es necesaria la conversión para cada cálculo y presentación al exterior de las fechas codificadas.
- Se produce un impacto en el rendimiento del sistema por esas conversiones.