Bienvenidos a Iseries Venezuela

Las mejores prácticas, recursos, tips, enlaces, videos y artículos para informáticos relacionados con el Iseries y el As/400 lenguajes de programación RPG, ILE RPG y SQL.

The best practices, resources, tips, links, videoes and articles for computer related to the Iseries and the As/400 languages of programming RPG, ILE RPG and SQL.

Thursday, December 10, 2009

Definiendo Las Claves en los Archivos












                                                                      (Haz Click en la imágen para agrandarla)

Un error muy común en aquellos centros de informática donde se utilizan sistemas que no se basan en DB2 sino en el manejo tradicional de archivos según la DDS definidas por los desarrolladores, consiste en confundir Clave con Índices de Acceso.


En la figura tenemos un diagrama donde se puede ver un encabezado de factura y sus tres campos que definen la clave. También podemos ver múltiples ocurrencias del archivo de detalle en el cual se especifica el artículo facturado al cliente.

En general es común creer que la clave del archivo de detalle es la que se ilustra en el diagrama, es decir, la misma clave que el encabezado de factura agregando además el artículo facturado. El concepto de clave implica además de su unicidad, su inmovilidad en el tiempo, es decir, es inmodificable. Si el cliente decide cambiar el artículo, no es posible desde un punto de vista conceptual, realizar el cambio. Para realizar el cambio en la factura, la aplicación debe permitir agregar artículos y eliminar artículos mas no modificar el código del artículo. El usuario de la aplicación debe entonces eliminar el artículo de la factura y agregar la información del nuevo artículo que desea el cliente.

En este punto algunos desarrolladores piensan que la solución entonces es colocar como campos claves del detalle del artículo los mismos campos claves de su cabecera. Con esta acción se pierde la clave del archivo puesto que deja de ser única y se repite tantas veces como artículos haya en la factura.

La solución ajustada a las reglas y normas de construcción de Base de Datos es generar un consecutivo. Es decir, cada vez que se crea un artículo, el programa genera un número de secuencia que identificaría en forma unívoca a cada registro dentro del archivo de detalles. Esto es particularmente útil cuando el inventario es más complicado y cada artículo se define a su vez por medidas, pesos, litros, láminas.

(Haz Click en "Más Información" para seguir leyendo)


Podría hacerse inmanejable generar un código de artículo por cada medida que presenta.

Otra manera de generar una clave única es a través de la hora del sistema. HH:MM:SS al momento de crear cada registro de detalle de la factura, por ejemplo.

La palabra clave UNIQUE, colocada en el archivo lógico que contiene la combinación de campos que verdaderamente es la clave nos alivia de dudas sobre cual es la clave del archivo con el que queremos trabajar.

Pueden construirse lógicos que se requiera para acceder al detalle de la factura con una cantidad X de campos sin que esto signifique que la combinación de campos sea clave para el archivo.

Las ventajas de tener la clave expresamente definida (UNIQUE) son:

Nos permite desarrollar programas de mantenimiento con la certeza de que no estamos vulnerando la integridad de la Base de Datos.


Podemos tomar decisiones de validación correctas sobre si debemos o no debemos permitir la modificación de un campo o dejar campos en blanco, cero o valores nulos.


Saber cual es la clave del archivo es particularmente útil en caso de requerir migrar a DB2 o a otra plataforma distinta al Iseries


Integrar a los nuevos desarrolladores a la aplicación sin exponerlos a cometer errores por ambigüedad de la definición de las claves.


Publicado por: Ing. Liliana Suárez.



Si te pareció interesante, reenvialo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo.

No comments: